wybór języka (web)

0

Witam wszystkich,
Możecie mi doradzić jakiego języka back end-owego warto się uczyć? Idąc w kierunku aplikacji webowych, na tą chwile znam html, css oraz w małym stopniu js, nie mam planów szukać pracy jako programista zamierzam tworzyć sam dla siebie dla samo rozwoju i zastanawiam się nad wyborem języka, jak myślicie?

2

Skoro chcesz programować tylko dla siebie to dlaczego nie spróbujesz napisać małych aplikacji w kilku językach i wybrać ten, który Ci przypadnie do gustu ?

1

Najniższa bariera wejścia to chyba Python.

0

Jak coś wiesz z JS'a to może... JS :D To w końcu również język backendowy (node.js). Albo Python, jak wspomniał LukeJL.

0

Teraz to node.js jest na topie bo uczysz się js i masz język do backendu i frontendu. Chyba już nawet ruby i railsy powoli schodzą z top. Wątpie też czy TypeScript wyprze JS, a do dużych serwisów po stronie serwera to może jeszcze coś ugrać Kotlin i Scala?

0

A możecie mi coś więcej powiedzieć na temat (node.js) do jakich projektów najlepiej się nadaje? i co myślicie o PHP a, w szczególności o wersji 7?

1

Nic sie nie zmieni. Na polskim rynku nadal niepodzielnie dominowal bedzie php, szczegolnie ze ekosystem PHP przezywa delikatny renesans. Laraval (klon RoR) i PHP7 sprawiaja ze jest to coraz nowoczesniejsze przyjemniejsze narzedzie prawcy.

RoR, Djnago, Express.js nadal pozostana nisza rynkowa devweby - nisza, ktora pewnie zawsze bedzie platna 30%-50% wiecej od PHP
The choice is urs.

1

Tak właściwie, można by się tutaj sprzeczać nad tym co jest lepsze, a co gorsze.
Wyboru powinieneś dokonać sam, pisząc bardzo proste apki w każdym z rozwiązań.

Przeleciałem po CGI w perlu, php, RoR, oraz django od pythona.
Z mojego punktu widzenia RoR przewyższa każdą technologię w prostocie i szybkości budowania aplikacji.
Python zaraz za nim, lecz czasasmi trzeba "omjać" problem "na około", szczególnie przy wątkach.
PHP to wdzieczny język ale niestety już nie dzisiejszy przez swoje bezpieczeństwo.
CGI w perlu, wszystko za długo trwa.
node.js - to ciekawa technologia lecz nie pchałbym się w jeszcze nieprzetestowane technologie.

Wybierz to w czym czujesz się najlepiej, jest taka różnorodność programistów, bo każdy czuje się dobrze w czymś innym ;)

0

Z hostingami node.js nie ma problemów https://github.com/nodejs/node-v0.x-archive/wiki/Node-Hosting
tak samo ze stabilnoscią i frameworkiem express.js czy narzędziem npm. Oczywiście najwiecej na node.js psioczy konkurencja która chce utrzymać stare technologie jak najdłużej. http://blog.end3r.com/129/node-js-czyli-serwer-w-javascript-zbior-przydatnych-linkow/

1

Skoro chcesz tworzyć dla siebie to:

  • nie kieruj się przy wyborze języka hostingiem- praktycznie wszystko postawisz tak samo łatwo na Heroku albo innym podobnym serwisie
  • spróbuj kilku różnych języków, aby wybrać ten, który Ci się najbardziej podoba- nie myśl, że w X zarabia się więcej, bo będąc dobrym w Y możesz zarobić tyle samo
  • śledź informacje odnośnie tych technologii, poznaj ich zalety i wady od osób, które posługują się nimi na produkcji
  • ucząc się któregokolwiek z języków i frameworków, łatwiej Ci będzie się przesiąść na coś innego, bo poznasz fundamenty wspólne dla każdej aplikacji webowej (w zasadzie prawie każdy framework korzysta lub wspiera MVC itp.)

A teraz konkrety:
W Polsce i na świecie największą część tortu aplikacji webowych kosi PHP. Teraz z PHP7 według benchmarków stronki na nim są 20-70% szybsze niż na wersji piątej. Ma on kilka bardziej rozbudowanych frameworków- Laravel, Zend, Symfony oraz microframeworki pokroju Silexa czy Slima. Składnia PHPa jest dosyć niespójna, ale samo kodzenie w nim jest porównywalne do pisania w jakimkolwiek innym obiektowym języku.

Dalej można wymienić:

  • Java + Spring/Play: toporny, ale standardowy język, cieszący się ogromną popularnością i masą bibliotek
  • Kotlin/Scala: w moim odczuciu pochodne Javy, które mają być przyjemniejsze od Javy i mają parę fajnych bajerów
  • Ruby/Rails: szybki, wygodny i "magiczny" framework, w którym pisanie może być bardzo przyjemne, o ile przestrzegasz narzuconych reguł. Dobry dla małych aplikacji, z większymi dochodzi spory problem ze skalowalnością, przez co sporo firm rezygnuje z Railsów przy większych aplikacjach.
  • Python/Django: mniej popularne od Railsów rozwiązanie w naszym kraju, więc i mniejszy popyt na koderów Pythona. Django jest zbiorem bardzo wielu gotowych rozwiązań, pozwala na większą uniwersalność niż Railsy mniejszym kosztem (routing regexpem, możliwość tworzenia widoków (kontrolerów) na dwa sposoby- funkcje albo klasy, które dziedziczą po gotowych klasach frameworka, co znacząco upraszcza kod, ale też nieco ogranicza)
  • Node.js/Express, nie mam zbyt wielkiego doświadczenia, ale jest to dobre rozwiązanie dla osób, które dobrze znają JSa i już korzystają z Node'a jako frontendowcy, bo znają npma i wiedzą jak z niego korzystać
  • asp.NET: bogata i wygodna alternatywa dla PHP. Język jest w moim odczuciu ulepszeniem Javy i C++.

Są też jeszcze znacznie mniej popularne drogi- niszowe, związane z jedną firmą, trudnym językiem albo powstałe dosyć niedawno np. ColdFusion, który jest modny w Stanach i dla którego jest kilka frameworków (ColdBox, podobny do Railsów CFWheels), Perl, który jest Perlem (i ma Dancera i inne frameworki) oraz Elixir z Phoenixem, które są super szybkie, oparte na VMce Erlanga, ale mają inną składnię i podejście do web frameworka i dopiero zyskują uznanie programistów.

TL;DR:
Kieruj się składnią języka. Praktycznie każdy dostępny język do tworzenia stron oferuje framework MVC i ma narzędzie do automatycznego zarządzania dodatkowymi bibliotekami (a czy to będzie się zwało gradle, pip, gem, mix czy nuget to wszystko jedno).

0

To co byś polecił osobie która nie zna javascript, node.js raczej odpada, a nauka od podstaw PHP 7 nie ma sensu. Lepiej brać na start ruby on rails lub django?

0

Ale ja bym chciał nowoczesny język jako backend, to python bez django, pyramid jest tam tak często stosowany? Coś do starupów, aplikacji i małych serwisów, nie interesuje mnie Java(JVM) i C#.

1

Python bez django, pyramid

Raczej rzadko się pisze web w Pythonie nie używając frameworka. To znaczy możesz, np. za pomocą cgi czy wsgi, ale nikt tego nie robi - bo i po co. Jak nie chcesz większego frameworka używać, to spróbuj Flaska, który jest bardzo minimalistyczny.

1 użytkowników online, w tym zalogowanych: 0, gości: 1