PHP + MySQL oder C# + MySQL

Die Formulierung ist aber schlichtweg falsch; die Sprache ist komplett offen, es steht dir jederzeit offen, eine eigene CLR dafür zu implementieren.
 
Wie wahrscheinlich ist das? Du könntest genauso gut versuchen, einen 100% kompatiblen Client für MS OOXML schreiben. Das ist auch angeblich offen...
Fakt ist: C#-Code läuft unter Nicht-Windows nur via Mono, und das oftmals eher schlecht als recht. Ich habs sogar an einer extrem einfach gestrickten Homepage probiert, die eigentlich nur ein paar Includes für die Navi und n Formular in ASP.NET hatte... am Ende waren wir schneller, einfach die paar Dutzend Zeilen in PHP neu zu schreiben, also uns mit Apache+Mono herum zu prügeln.
 
Ihr habt ja Sorgen.

1) Der Begriff "proprietär" ist in verschiedenen Kontexten unterschiedlich definiert (s. Wiki).
Von daher habt Ihr alle recht und unrecht zugleich :-P

2) Finde ich es selber sowas von egal, welche Programmiersprache man verwendet, solang Sie erstmal einfach der Anforderung genügt, das sie das Problem lösen kann. Etwas differenzierter kann man es noch betrachten, in dem man noch berücksichtigt, wie gut diese das Problem lösen kann. Eine Programmiersprache sollte man m.M. nach als Werkzeug betrachten und da kommt noch ins Spiel, wie gut der Programmierer mit diesem Werkzeug umgehen kann. Das sollte mit einfließen, wenn es darum geht, wie schnell kann man das Problem lösen.
Da ist es erstmal vollkommen egal, obs nun proprietär ist oder nicht. Und sich darauf einen "runter" zu holen (sorry für diese Wortwahl), löst das eigentlich Problem nicht.


Nun zu den eigentlichen Fragen des Fragestellers:

> 1. Gibt es eine Möglichkeit die Anwendung von einem C#-Projekt zu PHP zu migrieren?

Meines erachtens nicht, aber kann es nicht beschwören.


> 2. Welche Voraussetzungen sind zusätzlich nötig, wenn die Anwendung unter ASP.NET oder Silverlight läuft?

Generell würde ich aber eher zu PHP tendieren, wenn es nur um die Abfrage und Darstellung der Daten betrifft, da hier die Anbindung für den Programmierer integriert ist. Aber macht vermutlich nur Sinn, wenn du bereits auch schon einen Apache oder Ähnliches am laufen hast, wo der PHP Interpreter läuft. Hier kann ich dir WAMP empfehlen, welches dir solch eine Umgebung bereitstellt.

Wenn du die Daten aber irgendwie noch weiterverarbeiten willst, solltest du dir überlegen, dass doch in C# und entsprechende Umgebung zu programmieren, da hier ein paar mehr Möglichkleiten offen stehen. Ich hab bereits in C# ne MySQL Anbindung verwendet. Da kannste bei Google schauen und findest da sicher ein passendes Assembly, welches dir die gröbste Arbeit für diese Anbindung abnimmt.


Gruß slash
 
Bleibt das Kernproblem: Eine webbasierte Anwendung in C# ist natürlich möglich, genau wie in C oder C++. In all diesen Sprachen müsste man aber selbst den Webdienst schreiben, der dann auf Port 80 nach HTTP-Anfragen lauscht und sie standardkonform beantwortet. Das mag nicht extrem schwer sein, ist aber schlichtweg unnötiger Aufwand, wenn man direkt mit PHP, Perl, Python, Ruby (alle Webserver) oder ASP.NET (stabil nur auf Microsoft IIS) arbeiten kann.
Vom reinen Aufwand her ist C# einfach keine gute Idee für so etwas.
 
Daaron schrieb:
Bleibt das Kernproblem: Eine webbasierte Anwendung in C# ist natürlich möglich, genau wie in C oder C++. In all diesen Sprachen müsste man aber selbst den Webdienst schreiben, der dann auf Port 80 nach HTTP-Anfragen lauscht und sie standardkonform beantwortet. Das mag nicht extrem schwer sein, ist aber schlichtweg unnötiger Aufwand, wenn man direkt mit PHP, Perl, Python, Ruby (alle Webserver) oder ASP.NET (stabil nur auf Microsoft IIS) arbeiten kann.
Vom reinen Aufwand her ist C# einfach keine gute Idee für so etwas.

Stimme dir voll zu.
 
Erstens ist die C# als Sprache kein proprietär Produkt. Den nur .NET ist proprietär . Man kann genau so auf Mono setzen.

zweitens Mono hat schon alles was PHP hat und darüberhinaus kann es mehr (gleicher Argument für C#)

Drittens ist auch MySql proprietär, da es zu Oracle gehört, also würde ich eine andere Datenbank nehmen. SqLite könnte ja genau so gut hinhauen.

Viertens ist C# eine Typensichere Sprache. Da tut man sich mit PHP genau so wie C, keine richtige Typen, total unsicher in der Handhabung der Daten, was in Wiederspruch zu den Datenbanken ist, da diese Typensicherer Daten abspeichern.


Ihr könnt ja hier nachlesen.

Ich würde eh auf C# setzen, viel leichter ist mit der Web-Entwicklung zu arbeiten. Mit PHP muss ich ständig Beruflich auseinander setzen. Daher kann ich auch sagen, dass C# auf jeden Fall ein Mehrwert ist als PHP.

Klar mit PHP kann man auch Klassen schreiben, aber solange diese Typenunsicher sind bringt es ja nix.
 
@roker002

Gibt aber auch eine Community Edition von MySQL --> Open Source ;)
 
roker002 schrieb:
Drittens ist auch MySql proprietär, da es zu Oracle gehört, also würde ich eine andere Datenbank nehmen. SqLite könnte ja genau so gut hinhauen.

Das müsstest du mal genauer begründen. Es ist OpenSource und steht unter der GPL.
Einzig eine Version mit noch ein paar Extra ist kommerziell, wobei MySQL da weiterhin OpenSource ist nur die anderen "Addons" eben nicht. Eben Software zur Überwachung der Datenbank (der grandiose Enterprise Monitor), ne Hot-Backup-Lösung usw.
 
Als erstes muss ich sagen, ja, jede Sprache hat Vor- und Nachteile. Das gelabber von einigen hier ist immer komisch, wobei so ein Thread ja eine solche Diskussion erwarten lässt :).

Ich würde bei C# und ASP.NET bleiben. Der MS Technologie Stack ist weit aus besser als sein Ruf. C# ist eine moderne Sprache mit vielen coolen features (Linq, extension methods, async, TPL etc). Mit dem Wissen kannst du dann auch Windows (Phone) apps schreiben. Visual Studio/IIS/Windows Server und SQL Server sind schon ziemlich cool, als Student bekommste über DreamSpark Premium den ganzen Kram auch noch kostenlos. Und ja, MySQL kann man auch von .NET aus anbinden. Es lohnt sich einfach nicht für dieses eine Projekt PHP zu lernen, wenn du so viel Erfahrung mit .NET hast.

Außerdem werden .NET Entwickler auch gesucht, aus den Uni's kommen leider immer nur Java Leute....aber das ist ein anderes Thema :).
 
Zuletzt bearbeitet:
Ja aber es ist halt eine U-Bot Software. Oracle kann ja das gleiche wie mit Java machen. Einfach eine Firma anklagen, weil diese Angeblich den Code kopiert hat.

Es gibt auch .NET libs von MS die auch als Open Source, wie MEF.
Wenn man eine Business Lösung mittels PHP anbieten will, so ist man auf jeden Fall auf dem Holzweg. Klar, PHP ist leicht und kann auf jeden System laufen, aber da hören schon die Vorteile auf und ich kann nicht sagen wo die Nachteile dann anfangen sollten.

Auch wenn C# .NET von MS ist, so hatten die Leute dort auch richtige Ideen, wie z.B. ein Template System über mehrere Seiten, was PHP wirklich in der Form niemal anbieten kann.


Nur wegen MySQL auf PHP zu setzen wäre falsch. Man sollte sich genauer das Projekt ansehen was es werden soll. Wird es ein Riesen Ding, so lohnt es sich nicht mit PHP zu arbeiten. Denn spätesten bei den Bugfixen und implementierung auf eine Template-lose Basis wird man viel mühe reinstecken müssen.

Ich kenne das, denn ich muss ein riese Ding einer Fremdfirma fast komplett umschreiben, weil jede Seite einfach nach einem Copy-Paste Prinzip erstellt wurde. Da aber jede Seite nicht den gleichen Code beinhaltet hat, musste man über 600 Seiten fast einzel bearbeiten. Nach einem Templating Prinzip konnte ich die Anzahl der Seiten noch auf 100 reduzieren, aber da wollte ja der Chefprogrammierer ja nicht weiter arbeiten, weil der ja keine Ahnung mehr von meinem Code hatte und die hälfte der Arbeit ohne zu fragen einfach zurückgesetzt hatte. Hm jetzt sind es ja 300 Seite die man mehr oder weniger per Hand bearbeiten muss und ohne Objects (Klassen). Denn könnte ich die Anwenden würde der Code sich um einiges Reduzieren.

Also ist es von vorne herein besser mit einem Typensicherer und Objektorientierte Klasse zu arbeiten.
 
roker002 schrieb:
Ja aber es ist halt eine U-Bot Software. Oracle kann ja das gleiche wie mit Java machen. Einfach eine Firma anklagen, weil diese Angeblich den Code kopiert hat.

Äh nein, das sind ganz andere Vorgeschichten. Die JVM war erst Closed Source wurde dann OpenSource, da ging es aber um Patente und dergleichen.
MySQL war schon immer GPL und Oracle könnte das auch nimmer ändern, denn dann müsste jeder Commiter zustimmen, dass sein Code unter der neuen proprietären Lizenz steht und Eigentum von Oracle wird.

Das einzige was Oracle tun kann, ist die OpenSource-Entwicklung einzustellen und nur noch ClosedSource weiterzuentwickeln. Und selbst wenn das passieren würde, ist das kein Beinbruch. Die Maria Foundation mit MariaDB entwickelt MySQL viel schneller und besser vorran, als Oracle es tut, kein Wunder Monty (der MySQL-Vater) und viele Ex-MySQL-Angestellte stecken dahinter.
 
kelox schrieb:
Ich würde bei C# und ASP.NET bleiben.
ASP.NET: Ja
C#: Nein
Außer dir fällt ein schneller und effizienter Weg ein, wie du in C# einen Webdienst schreibst.... also schneller, als du es mit nem IIS+ASP.NET schaffen würdest, oder mit PHP und einem x-beliebigen Webserver.

Visual Studio/IIS/Windows Server und SQL Server sind schon ziemlich cool
Wenn der IIS so cool ist, warum hat er dann einen Marktanteil von einem lauen Furz? Gegen Apache stinkt er nicht an, und auch gegen nginx und Cherokee wird er es auf Dauer schwer haben. Tatsächlich ist nginx schon auf Augenhöhe mit dem IIS:
http://news.netcraft.com/archives/2013/04/02/april-2013-web-server-survey.html
Die Statistik zeigt: Für den IIS zu entwickeln bedeutet, sich freiwillig auf den absteigenden Ast zu setzen.

roker002 schrieb:
Ja aber es ist halt eine U-Bot Software. Oracle kann ja das gleiche wie mit Java machen. Einfach eine Firma anklagen, weil diese Angeblich den Code kopiert hat.
Oh ja, versuch das mal bei GPL-Software.. denn genau das ist MySQL. MySQL ist frei und bleibt frei aka. quelloffen. Alle Ableger von MySQL sind, aufgrund der "Virulenz" der GPL, ebenfalls quelloffen.


Wenn man eine Business Lösung mittels PHP anbieten will, so ist man auf jeden Fall auf dem Holzweg.
Facebook war also viele Jahre lang auf dem Holzweg? Tausende mittelgroße und recht ansehnliche Firmen, die auf PHP-basierte Shopsysteme setzen, sind also auf dem Holzweg?

Ich kenne das, denn ich muss ein riese Ding einer Fremdfirma fast komplett umschreiben, weil jede Seite einfach nach einem Copy-Paste Prinzip erstellt wurde. Da aber jede Seite nicht den gleichen Code beinhaltet hat, musste man über 600 Seiten fast einzel bearbeiten.
Aha. Aufgrund eines echt schlechten Projekts von unfähigen Entwicklern verurteilst du die Sprache?
Schau dir lieber mal richtig gute PHP-Software an... die ist objektorientiert, modular aufgebaut, gut kommentiert, performant,... All das, was PHP ja laut deiner Aussage niiiiieee sein kann.

Also ist es von vorne herein besser mit einem Typensicherer und Objektorientierte Klasse zu arbeiten.
Objektorientierung? Ja, gute Idee. Modularer Aufbau? Definitiv ein guter Plan. Ein übersichtliches, aber mächtiges Framework wie Zend, Symfony2,... einsetzen? Erst recht eine gute Idee, sollte man aber in jeder Sprache machen.

Aber starke Typisierung als Vorteil? Wo denn bitte? Viele Sprachen sind schwach typisiert, und trotzdem funktionieren sie einwandfrei. Andere Sprachen sind stark typisiert und blanker Horror.
 
Was öffentlich Webserver angeht gebe ich Dir Recht, da ist der IIS eher selten, aber auch vorhanden. Wenn Du aber in Unternehmen gehst und Dir da die Webserver und Webapps anschaust, ist das Bild genau anders rum...

Und mit MVC macht Webentwicklung auch im IIS Spass. :)
 
Daaron schrieb:
Wenn der IIS so cool ist, warum hat er dann einen Marktanteil von einem lauen Furz? Gegen Apache stinkt er nicht an, und auch gegen nginx und Cherokee wird er es auf Dauer schwer haben. Tatsächlich ist nginx schon auf Augenhöhe mit dem IIS:
http://news.netcraft.com/archives/2013/04/02/april-2013-web-server-survey.html
Die Statistik zeigt: Für den IIS zu entwickeln bedeutet, sich freiwillig auf den absteigenden Ast zu setzen.
.

Ferrari/Porsche/Bugatti haben bestimmt auch einen geringen Marktanteil, trotzdem find ich sie cooler als Opel ;). Verwende weiterhin dein Apache/nginx whatever die haben auch ihre Vorteile.....
 
Drexel schrieb:
Was öffentlich Webserver angeht gebe ich Dir Recht, da ist der IIS eher selten, aber auch vorhanden. Wenn Du aber in Unternehmen gehst und Dir da die Webserver und Webapps anschaust, ist das Bild genau anders rum...
Es gibt genauso verdammt große Unternehmen, die nicht auf IIS setzen. Blizzards Seiten, allen voran die Foren, laufen z.B. als Apache Tomcat.
Und dann kommt es ja noch darauf an, für wen man eher arbeitet. Durch den puren Marktanteil sind die Jobchancen bei den freien Webservern doch deutlich höher. Dafür hat man mit umfangreichen IIS-Kenntnissen wohl bessere Karten im Lohn-Poker.

Und mit MVC macht Webentwicklung auch im IIS Spass. :)
Du entwickelst doch nicht für einen Server. Ok, ASP.NET läuft nur auf IIS stabil, also ist das ein Sonderfall. Aber egal ob PHP, Ruby oder sonstwas, überall kannst du MVC-Patterns einsetzen oder es lassen.

kelox schrieb:
Ferrari/Porsche/Bugatti haben bestimmt auch einen geringen Marktanteil, trotzdem find ich sie cooler als Opel ;).
Trotz der Tatsache, dass wir den Opel unter den Webservern, Apache 2.2, einsetzen fahren einige unserer Kunden trotzdem Bentley und Porsche. Andere begnügen sich mit Benz und BMW.
Aber was kann man über Opel sagen? Ich hatte einen Astra F 1.6i. Er lief. Er war recht flott, wendig, genügsam und robust.... So alt wie der wird kein Ferrari im Dauereinsatz.

Verwende weiterhin dein Apache/nginx whatever die haben auch ihre Vorteile.....
Nicht nur ich verwende die Dinger...
Meanwhile, nginx saw an overall growth of 10.6M sites this month, with the largest nginx hosting company, Hetzner Online AG, contributing an additional 1.6M sites.

Ich mag Hetzner. Deren Techniker sind tatsächlich freundlich.
 
Daaron schrieb:
Ich mag Hetzner. Deren Techniker sind tatsächlich freundlich.

Kann ich bestätigen! Wir haben selbst 2 Server dort und di hatten sogar Angerufen als es mal ein Traffic Spike (großer Download) bei uns gab :)
 
Daaron schrieb:
Ich mag Hetzner. Deren Techniker sind tatsächlich freundlich.
Jup sind sie, aber da gilt auch wieder die 80/20-Regel, 80% sind sie freundlich und die restlichen 20% stümperhaft.
Lass dich mal mit mehr als 800Mbit/s ddosen (vermutlich nen Botnet-DDoS auf die falsche IP gebucht), da schaltet Hetzner dich ab und du darfst denen schriftlich mitteilen und unterschreiben, wie du sicherstellst, dass das nicht mehr passieren wird und dass es nicht mehr passieren wird.
Die gehen einfach davon aus, dass dein Server gehackt wurde und du den Traffic Outbound hattest und dich somit die Schuld trifft, dass der Traffic Inbound war, haben die nicht gesehen. Und auch nach ~10 Telefonaten nicht verstanden oder wollten es nicht einsehen. Es sollte trotzdem unterschrieben werden, wie sichergestellt wird, dass das nimmer passiert :rolleyes:
Gut die meisten Massenhoster können da nix unternehmen, aber wenigstens kompetent darauf reagieren, dass man die Server abschaltet ist ok. Aber dann auch wenigstens richtig kommunizieren, dass man nichts unternehmen kann, und nicht dem Kunden die Schuld zuweisen.

Ich persönlich mit trotz dieser mitbekommenen Horror-Story auch noch bei Hetzner, das Preis/Leistungsverhältnis ist einfach super, man muss nur eben hoffen, dass nix kaputt geht oder nicht wieder interne Netzwerkfehler auftreten. Die ich dank 60s Monitoring per SMS immer mitbekomme, leider zu viele, aber der Preis ist eben supi.
 
Zuletzt bearbeitet:
Daaron schrieb:
Es gibt genauso verdammt große Unternehmen, die nicht auf IIS setzen. Blizzards Seiten, allen voran die Foren, laufen z.B. als Apache Tomcat.

Ich redete auch von nicht öffentlich Web Servern. Business Systeme. Und um Deine Argumentation fortzuführen: Es gibt auch verdammt große Unternehmen, die nicht auf Apache setzen.

carom schrieb:
Ich denke er redet hier speziell vom ASP.NET MVC 4 Framework, quasi das Rails für C# bzw. .NET, was mit der klassischen ASP.NET Entwicklung nicht mehr viel gemein hat.

Ja das meinte ich, weil viele im ASP.NET immer noch an Web Forms denken, was ich auch einigermaßen gruselig finde, aber das könnte auch geschmackssache sein.
 
Zurück
Oben