Jakich języków używać dziś, do stworzenia 'dobrej' strony internetowej?


(jacko1998) #1

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ć.

 

Pozdrawiam


(Emilm7843) #2

Polecam Django. To framework do Pythona, który jest świetny do szybkiego pisania, a w testach jest szybszy niż PHP.


(kostek135) #3

 

Ja polecę jeszcze:

  1. Scala + Play Framework,

  2. Groovy + Grails,

  3. Nieśmiertelna Java + Spring / Vadin

  4. Możesz zainteresować się tym: http://en.wikipedia.org/wiki/Comparison_of_web_application_frameworks

 

 

Są to też ciekawe pozycje.

 

 

Na szybkość składa się głownie trzy czynniki (kolejność niewiążąca):

  1. Jakość kodu. Użyte algorytmy, struktury danych, jakość użytych frameworków.

  2. 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)

  3. 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.


(Frankfurterium) #4

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.


(Maks Baum) #5

Wbrew pozorom php jest dobry rozwiązaniem - to że ma zszarganą opinię to skutek działalności gimbusów.

Zbuduj aplikację opartą o http://symfony.com/doc/current/index.html , najlepiej z zainstalowanym APC na serwerze a "będzie Pan zadowolony"

Jak coś innego - java? to tylko http://grails.org

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 :slight_smile:


(jacko1998) #6

Reasumując, chyba po php wezmę się za pythona i potem java. Dzięki wszystkim, za udzielenie w tym temacie.