Witam, chciałbym się dowiedzieć jakich języków/frameworków używać, aby tworzyć dobre(od strony technicznej, nie graficznej) witryny lub fora. Chodzi głównie o szybkość i bezpieczeństwo. Nie będę pytał o php, które posiada dość mocno zszarganą opinię. Zastanawiam się raczej nad Ruby on Rails czy C#. Co jest lepsze, według kryteriów ustalonych wcześniej ? Np. forum DP jest szybkie i się zastanawiam czym ta szybkość jest spowodowana. Zależy to od samego języka czy może od wyśmienitej optymalizacji kodu ? A tak w ogóle to w jakim języku napisany jest IPBoard ? Wiem, że rozpoczynam temat rzekę, ale zależy mi na tym, ponieważ chciałbym iść w tym kierunku i nie wiem na jakim środowisku się skupić.
Na szybkość składa się głownie trzy czynniki (kolejność niewiążąca):
Jakość kodu. Użyte algorytmy, struktury danych, jakość użytych frameworków.
Zaplecze serwerowe. Choćbyś napisał wszystko w ASM, upewnił się, że nie ma nawet jednego nadmiarowego wywołania, a wszystkie algorytmy są możliwie najlepsze, to i tak na łączu 10 mb i gównianym komputerku, to szału nie zrobisz i każdy w miarę rozsądny wysoko poziomowy framework wsparty dobrym sprzętem będzie lepszy. Często też nie jest to jedna maszyna, ale wiele różnych maszyn między którymi obciążenie jest balansowane (tzw. load-balancing)
Dobra analiza wymagań. Każdy projekt, to powinno być 90% czasu i wysiłku spędzonego z: makietami, diagramami, mapami i innymi wybranymi przez zespół pomocami do projektowania systemów. A pozostałe to programowanie, wdrożenie, dokumentacja, etc. Jeśli tego nie ma to każdy projekt powyżej 30 klas, będzie do bani (wiem, że wywołam tym zaraz fale hejtów, nieomylnych pseudo-programistów, życie). Z reguły wynik pracy programistów odbiega od założeń projektowych (często na skutek deadline-ów, możliwości języka/frameworku, umiejętności, etc.) i tak los chciał, że zawsze na niekorzyść tego drugiego. Więc jeżeli analiza jest słaba, to projekt będzie tragiczny, nie oszukujmy się.
Z pustego i Salomon nie naleje. Z drugiej strony mając ferrari nie stajesz się automatycznie super kierowcą. Moim zdaniem, zależy od programisty i jego umiejętności (do których zalicza się między innymi dobór odpowiednich narzędzi do potrzeb, czy też właśnie pisanie dobrego kodu).
Języki są i przemijają, kiedyś Fortran czy Pascal miały być lekarstwem na wszystko. Skupianie się na jednej rzeczy to szybki sposób na wypadnięcie z rynku, gdy ta rzecz zostanie zastąpiona nowymi, lepszymi rozwiązaniami, Oczywiście nie nakłaniam, żeby nie specjalizować się w jakimś języku, tylko przestrzegam przed naiwnym myśleniem: “Jaki jest najbardziej przyszłościowy język, że nie będę już nigdy musiał uczyć się czegoś nowego”. Wypadniesz z obiegu nim się zorientujesz.
EDIT poprawiłem cytaty, bo WYSIWYG w tym edytorze jest nieużywalny.
Działanie aplikacji webowej prawie zawsze spowalniają:
a) Baza danych
b) Prędkość internetu
W dzisiejszych czasach i przy dzisiejszych językach/frameworkach wystarczy pisać “zaledwie dobry” kod pozbawiony oczywistych błędów i będzie ok. Większość pary w rozwoju języków/frameworków idzie w “zaplecze”, sprawiając, że lepiej jest programistom, a nia użytkownikom końcowym aplikacji.
Ale żeby nie było - jak zabierzesz sie za przetwarzanie plików tekstowych to python będzie chyba najszybszy, no ale na starcie raczej nie będziesz pisał aplikacji które będą połączeniem php javy i pythona