Website-Programmierung - wie anfangen?

Daaron schrieb:
Ich hab vor Jahren in C++ mit Überladung gearbeitet und fand es durchaus interessant. Danach hab ich mich einfach an den PHP-Weg gewöhnt: Schreib eine Funktion und guck nach, welche Parameter übergeben wurden. Für die meisten Fälle reicht eh ein is_integer und ein is_array .
Außerdem verschont dich eine schwach typisierte Sprache vor der Unterscheidung zwischen 1 und "1" (und TRUE, was das angeht).

Zum "PHP-Weg": da geht es halt schon los, es ist nicht wirklich schön wenn man Logik dafür schreiben muss um herauszufinden, was der Aufrufer überhaupt tun wollte. Das mit der Typisierung ist Geschmackssache, bei 1 = "1" = true graust es mir eher :)

Was den Rest angeht.

Also für typische Enterprise-Software wie ERP- und CRM-Systeme bieten die meisten Hersteller nicht mal Bindings an für Open-Source DBs, die nutzt niemand in dem Bereich. Generell basieren geschäftskritische Dinge de facto nie auf Open-source (von Linux als Server mal abgesehen), für welches man nicht mal richtigen Support hat und im Falle von RDBMS auch weniger leistungsfähig ist.

Ist schön, dass München da einen anderen Weg geht, ändert aber nichts an der Tatsache, dass PHP und MySQL im Enterprise-Bereich für andere Dinge als die Firmenwebseite quasi keine Rolle spielen. Die Geschäftsprozess-Struktur in einem mittelständischen Unternehmen ist eben was ganz anderes als die Verwaltung einer Großstadt.
 
Zuletzt bearbeitet:
dcobra schrieb:
Zum "PHP-Weg": da geht es halt schon los, es ist nicht wirklich schön wenn man Logik dafür schreiben muss um herauszufinden, was der Aufrufer überhaupt tun wollte. Das mit der Typisierung ist Geschmackssache, bei 1 = "1" = true graust es mir eher :)
Klar, es ist etwas eigenartig, dass man teilweise nicht mit == sondern mit === prüfen muss, auf der anderen Seite kann man damit aber auch sehr interessante Konstrukte basteln. Jede Sprache hat ihre WTF-Momente...

Also für typische Enterprise-Software wie ERP- und CRM-Systeme bieten die meisten Hersteller nicht mal Bindings an für Open-Source DBs, die nutzt niemand in dem Bereich. Generell basieren geschäftskritische Dinge de facto nie auf Open-source (von Linux als Server mal abgesehen), für welches man nicht mal richtigen Support hat und im Falle von RDBMS auch weniger leistungsfähig ist.
FOSS und Support schließen sich nicht gegenseitig aus. Was denkst du, wie Suse oder Red Hat ihre Kohle verdienen? Außerdem sagte ich, dass MS SQL am Markt vorbei geht. Dass ein Enterprise-System kein MySQL (was ja auch unter der Fuchtel von Oracle steht) einsetzt mag stimmen, sie könnte aber die proprietäre Oracle DB auf einer Linux-Kiste (oder unter Windows.. das ist ja der Witz an portierbarer Software) einsetzen.

Und wieso weniger leistungsfähig? MySQL ist, mit den richtigen Einstellung, ziemlich fix. MariaDB kann einen Hauch schneller sein. PostgreSQL muss sich definitiv nicht verstecken. Und wenn an über RDBMS hinaus Richtung NoSQL guckt, dann landet man ratzfatz bei RedisDB... denn was schnell genug für eine riesige kostenlose Porno-Streaming-Seite ist, kann für ein Unternehmen mit n paar hundert Mitarbeitern einfach nicht zu langsam sein.
 
dcobra schrieb:
Was ich meine:

PHP hat keinen Enterprise Application Stack wie Java oder .NET.
Genauso wenig wie man in diesem Umfeld MySQL oder PostgreSQL einsetzt, das ist nichts für den Enterprise-Einsatz. Zu deiner Aussage, MS SQL findet man nicht häufiger als den IIS: MS ist mit dem SQL-Server in DE Marktführer vor Oracle im professionellen Bereich. SAP würde dich auslachen, wenn du das auf MySQL oder Postgres laufen lassen wolltest.


So sehe ich das auch.

Erstens scheinen die Zahlen von dcobra nicht zu stimmen, da der IIS laut folgendem Artikel einen Marktanteil von über 30% hat:

http://www.pcwelt.de/news/Microsofts-Webserver-nimmt-Apache-Marktanteile-ab-245139.html

Zweitens weiß ich, dass bei vielen größeren Unternehmen die Tendenz besteht, nicht vorwiegend auf freie Software zu setzen. Der Herstellersupport und die Gewährleistung der Kompatibilität mit der IT-Landschaft sind Gründe, warum größere Firmen gerne bereit sind, Geld auszugeben.

Bei uns im Unternehmen gibts kein Apache, kein MySQL und dergleichen, sondern ausschließlich kostenpflichtige Software aus dem Hause MS.

Zufällig weiß ich auch von Mitarbeitern aus einem Unternehmen, welches sich auf SharePoint spezialisiert hat, dass diese Technologie stark im Kommen ist. Viele Firmen setzen zunehmend darauf, und damit wird auch der Bedarf nach ASP.NET Entwicklern immer größer.

Von einer "Spezialisierung am Markt vorbei" sind meine Bestrebungen daher definitiv nicht. ASP.NET ist auch keine kleine Nische mehr. Ob Java sinnvoller wäre, das möchte ich nicht ausschließen. Aber sinnlos und umsonst ist es mit Sicherheit nicht, wenn ich mich in ASP.NET weiterentwickle.
 
Zuletzt bearbeitet:
Dey schrieb:
Erstens scheinen die Zahlen von dcobra nicht zu stimmen, da der IIS laut folgendem Artikel einen Marktanteil von über 30% hat:
Der Artikel ist von 2007!
http://www.pcwelt.de/news/Microsofts-Webserver-nimmt-Apache-Marktanteile-ab-245139.html schrieb:
Für Februar 2007 wurden über 108 Millionen Websites ausgewertet.
... ist der Witz schlechthin.

http://news.netcraft.com/archives/2012/07/03/july-2012-web-server-survey.html schrieb:
In the July 2012 survey we received responses from 665,916,461 sites, a decrease of 31M since last month.

Apache 55.46%
IIS 11.88%
nginx 11.45%
Google 8.57%
 
Daaron schrieb:
Und wieso weniger leistungsfähig? MySQL ist, mit den richtigen Einstellung, ziemlich fix. MariaDB kann einen Hauch schneller sein.
MariaDB und vor allem XtraDB von Percona (beides MySQL Forks, für diejenigen, die es nicht wissen) sind nicht nur einen Hauch schneller sondern eine ganze Ecke. Aber natürlich auch nur, wenn die DB annähernd an ihren Grenzen rennt, sonst langweilen sich alle Produkte. Also zumindest XtraDB ist der MySQL-Version mit gleicher Produktnummer immer eine ganze Ecke überlegen, das ganze wandelt sich dann aber wieder mit neuen MySQL-Versionen bis dort dann wieder die Patches von Percona eingeflossen sind.
Generell kann man aber festhalten, dass die letzten ca. 3 Jahre mit jedem neuen MySQL-Release die Performance deutlich zulegt, natürlich nur wenn InnoDB verwendet. MyISAM ist ein Sandkasten.

Daaron schrieb:
Und wenn an über RDBMS hinaus Richtung NoSQL guckt, dann landet man ratzfatz bei RedisDB... denn was schnell genug für eine riesige kostenlose Porno-Streaming-Seite ist, kann für ein Unternehmen mit n paar hundert Mitarbeitern einfach nicht zu langsam sein.
Es heisst Redis, nicht RedisDB ;)
Man sollte bei NoSQL aber festhalten, dass diese Datenbanken auch nur so schnell sind, weil sie die leistungshungrigen Konzepte über Bord werden. ACID wird entfernt, weil es "inperformant" ist. So richtig fix ist Redis auch erst wenn man einstellt, dass nur alle Sekunde die Daten auf die HDD ge-fsync-t werden und nicht bei jedem Kommando usw.
Und man muss ganz anders, komplexer, dafür entwickeln. Denn das was mir eine Datenbank automatisch mit Indexen ermöglicht (Range-Querys, Index-Lookups) muss ich bei einer NoSQL-Datenbank i.R. alles selber implementieren. Alles kein Problem, wenn man es kann und die richtigen Ideen hat, aber auf magische Weise ist NoSQL eben nicht schneller, dafür gehen die Datenbanken schon einige Tradeoffs Richtung Geschwindigkeit.
 
Dey, deine ursprüngliche Prämisse war Website-Programmierung, nicht Enterprise-Intranet. Wenn du bereits für ne Firma arbeitet, die dich als ASP.NET - Entwickler für ihre Inter- und Internet-Angebote einsetzen will, warum fragst du uns, wie du anfangen sollst? Wenn du hingegen wirklich ne ehrliche Antwort haben willst, wie du für Internet-Dienste anfangen sollst, dann lautet diese: Auf keinen Fall mit ASP.NET, weil du damit an gerade mal 1/10 der möglichen Server gebunden bist.

Es hilft dir auch nicht, wenn du eine 5 Jahre alte Statistik postest, bei der der IIS mal kurzfristig Höhenluft schnuppern durfte. Zwischen '06 und '09 war der IIS mal ne Weile nicht ganz so weit abgeschlagen und trotzdem dem Apache in der Marktstellung weit unterlegen. Yuuri hat mit den Juli-Trends im Vergleich zu meinen Januar-Trends auch eigentlich nur eins bewiesen: Alle Dienstanbieter gehen zu Lasten von Google Servers abwärts.
 
Zurück
Oben