Zastanawiam się, czy są jakieś mniej stronnicze zasoby, które dają dobre, konkretne przeglądy języków programowania i ich zamierzonych celów. Chciałbym nauczyć się nowego języka, ale odwiedzanie stron każdego języka nie działa. Każdy mówi o tym, jak wspaniale jest, nie wspominając o słabościach ani konkretnych celach .
Ruby to dynamiczny język programowania typu open source z naciskiem na prostotę i wydajność.
Python to język programowania, który pozwala pracować szybciej i skuteczniej integrować systemy.
Będąc programistą PHP od lat, Vic Cherubini dobrze podsumowuje moją trudną sytuację:
Znałem dobrze PHP, miałem własny framework i mogłem szybko pracować, aby coś uruchomić.
Tak zaprogramowałem podczas rewolucji MVC. Dostałem coraz lepszą pracę (czytaj: lepiej płatne, lepszy tytuł) jako programista PHP, ale przez cały czas zdawałem sobie sprawę, że kod, który napisałem w swoim czasie, był świetny, a kod, z którym pracowałem w pracy, był okropny. Na przykład gorsze niż okropne. Okrutny. Zły poziom handlu OS. Posiadanie pobocznych projektów utrzymywało mnie przy zdrowych zmysłach, ponieważ kod, z którym pracowałem w pracy, sprawiał, że byłem nieszczęśliwy.
Dlatego odchodzę z PHP dla moich pobocznych projektów i nowych przedsięwzięć programistycznych. Jestem z PHP. Wyczerpany, jeśli chcesz. Osiągnąłem poziom, na którym myślę, że jestem na szczycie jako język i jeśli wkrótce nie przejdę do nowego języka, skończę z programowaniem i nie chcę tego.
Języki, na które patrzyłem, obejmują JavaScript (dla node.js), Ruby, Python i Erlang. Myślałem nawet o Scali lub C ++.
Problem polega na tym, aby dowiedzieć się, które z nich są najlepiej dostosowane do moich potrzeb.
Gdzie więc mogę pominąć szum i uzyskać rzeczywiste informacje na temat dojrzałości platformy, wielkości społeczności oraz mocnych i słabych stron tego języka. Jeśli je znam, to wybór języka, aby kontynuować tworzenie stron internetowych powinien być łatwy.
Aktualizacja
Po prostu nie chcę zaczynać 4 miesięcy z jakimś językiem i uważam, że jest do bani, ponieważ każdy wątek ma narzut 4 MB, lub maksymalna równoczesna liczba połączeń wynosi 999, nie ma pakietu do wykonania funkcji „X”, lub wsparcie jest wycofywanie się z nowej gałęzi językowej.
źródło
Odpowiedzi:
Nie zamierzałem publikować tego jako odpowiedzi, ale Xeoncross poprosił mnie o to, więc zaczynamy:
(Sidenote: jeśli ktoś mógłby naprawić problem przeceny w małym przykładzie kodu, byłbym wdzięczny).
Wysłany przez Alex Martelli na comp.lang.python : Co jest lepszego w Ruby niż Python? na sie 18 2003 17:50
źródło
Powodzenia
Żaden z podanych przykładów nie jest obiektywny ani testowalny. Wszystkie są hype i opinii.
Spróbuj
Weź mały przykładowy projekt, który prawdopodobnie wykonasz, i wypróbuj go we wszystkich językach, które Cię interesują. Następnie opublikuj obiektywną recenzję, a wszyscy się dowiemy.
źródło
Myślę, że część problemu polega na tym, że każdy, kto wie wystarczająco dużo, aby sensownie komentować jeden lub więcej języków, będzie miał uprzedzenia. Przez prawie 4 dekady programowania pracowałem w większej liczbie języków, niż potrafię zliczyć. Mogę przekazać opinie (niektóre z nich datowane) na temat kilku z tych języków, ale żadna z tych opinii nie będzie bezstronna.
Podchodzę do tego, by używać właściwego języka do pracy. Pytasz konkretnie o tworzenie stron internetowych , ale wciąż jest to dość szeroka kategoria - coś w rodzaju powiedzenia, że interesujesz się fotografią. Mikro? Astro? itp. Chociaż zgadzam się, że PHP nie jest językiem spełniającym emocje, dla wielu klientów jest to właściwy język oparty na dowolnej liczbie czynników, między innymi długoterminowej zdolności do znalezienia programistów, którzy naprawią witrynę po wyjściu z witryny i / lub zostać potrąconym przez autobus.
Może więc powinieneś przyjrzeć się typom klientów zainteresowanych projektami, które nadają się do czegoś innego, a następnie popracować nad tym, aby zainteresować się nimi.
źródło
Pyton
Najbardziej uniwersalny i ogólny cel ich wszystkich, ale także w przypadku programowania internetowego zapewnia szerszy wybór produktów. Ustandaryzowany interfejs WSGI gwarantuje doskonałą interoperacyjność między platformą a serwerami. Niektóre z godnych uwagi produktów internetowych Python:
Rubin
Ruby jest również dość uniwersalnym językiem. Jednak zdecydowanie najbardziej znanym produktem jest Ruby on Rails. Jego konstrukcja była inspiracją dla wielu (w tym wspomnianego powyżej Django).
JavaScript
Obecnie jedynym wyborem JS po stronie serwera jest node.js. Jest bardzo podobny do Tornado i Twisted (przez które został zainspirowany). Jednak wciąż brakuje w pełni rozwiniętego frameworka podobnego do Django lub RoR zbudowanych na nim.
Scala
Będąc językiem funkcjonalnym, świetnie nadaje się do obliczeń masowo równoległych, o ile chodzi o programowanie sieciowe ogólnego przeznaczenia, istnieje Lift - platforma internetowa inspirowana RoR, używana na przykład przez FourSquare.
źródło
W moim najnowszym projekcie internetowym zacząłem od PHP, ponieważ używałem go wcześniej do projektowania stron internetowych (szybki start), ale miałem wiele problemów z językiem, np. Zła obsługa UTF-8 i dynamiczne pisanie. Mam też trochę doświadczenia w Javie i naprawdę lubię pisać na klawiaturze statycznej i dobre narzędzia do refaktoryzacji. Java ma również dobrą wydajność w porównaniu do PHP. Ale podoba mi się także ekspresja programowania funkcjonalnego.
Scala and Play Framework
Dzięki powyższym doświadczeniom bardzo podoba mi się język programowania Scala, jest on statycznie typowany, ma wsparcie dla programowania obiektowego i funkcjonalnego oraz ma dobrą wydajność w porównaniu z innymi językami używanymi do tworzenia stron internetowych. Ale nie podobały mi się frameworki dla Javy i serwletów, i znalazłem Play Framework , który obsługuje zarówno Scalę, jak i Javę i ma bardzo szybki cykl programowania - zapisz plik i zaktualizuj swoją stronę internetową. W ubiegłym miesiącu byłem bardzo zadowolony ze Scala & Play Framework. Ale obsługa Scala w Play Framework nie jest jeszcze bardzo dojrzała, podobnie jak wsparcie narzędzi.
W skrócie polecam Scala jako język programowania i Play Framework jako framework internetowy.
źródło
Właściwie patrzysz prawdopodobnie na trzy rodzaje zasobów:
Oba te zasoby byłyby stronnicze.
Może masz szansę znaleźć neutralne porównanie, ale bardzo trudno jest je napisać. Osobiście nigdy nie byłbym w stanie napisać porównania między prawdziwym językiem a PHP bez ciągłej krytyki PHP. I jestem prawie pewien, że nie jestem sam, nie będąc wystarczająco neutralnym.
Jeśli chcesz mieć przegląd różnych języków, musisz się ich nauczyć i dużo przeczytać . Ucząc się, mam na myśli znajomość podstaw języka, ale posiadanie własnej opinii . Nie dlatego, że przeczytałeś instrukcję Ruby, ale nie jesteś w stanie wyjaśnić, co jest dobre, a co złe w tym języku.
Oznacza to, że albo musisz spędzać czas (miesiące, a nawet lata) na ćwiczeniach. Lub możesz dużo czytać. Ale spróbuj czytać sprzeczne rzeczy . Jeśli ktoś pisze, że nienawidzi PHP, a PHP jest jednym z najgorszych języków w historii, szczególnie w porównaniu z prawdziwymi językami, takimi jak Ruby, C # lub Java, spróbuj także znaleźć osobę, która mówi, że PHP jest cudowny i że jest łatwiejszy w użyciu niż C #, znacznie szybszy niż Java i dużo ... (naprawdę nie wiem co) niż Ruby.
Pamiętaj o jednej rzeczy: jeśli znasz już dobrze język, na początku będziesz bardzo krytyczny, ucząc się innego , wierząc, że język, który już znasz, jest lepszy i znacznie łatwiejszy w użyciu. To tak, jak użytkownicy systemu Linux, którzy nienawidzą systemu Windows, i użytkownicy systemu Windows, którzy nienawidzą systemu Linux: w rzeczywistości żaden system operacyjny nie jest lepszy; po prostu użytkownik Linuksa nie wie, jak korzystać z systemu Windows i odwrotnie. Dopiero po zdobyciu wystarczającego doświadczenia w obu przypadkach nie będziesz w stanie poprawnie zdecydować, które z nich jest dla Ciebie lepsze.
Ostatnia rzecz, często zapomniana: bardzo ważna jest także ocena „otoczenia” języka:
źródło
Cóż, ponieważ jednym z twoich kryteriów wydaje się być „praca z przyjemnością”, pomyślałbym, że chciałbyś znaleźć stronnicze informacje. Jeśli autor czegoś pasjonuje się wybranym przez siebie językiem, istnieje spora szansa, że oceni stronniczo.
Może powinieneś podejść do niego z drugiej strony. Ponieważ brzmisz tak, jakbyś mówił o zrobieniu kariery, a nie o hobby, być może powinieneś przejrzeć ogłoszenia o pracy, znaleźć ciekawe technologie / języki i zajrzeć do nich.
Jeśli chodzi o języki mające określone cele, wiele języków ich nie ma. Większość wymienionych przez ciebie języków ma charakter ogólny. Na przykład język Ruby jest językiem ogólnego przeznaczenia, odpowiednim do wielu zadań. Po dodaniu do niej frameworka, takiego jak Rails , ma on dość konkretny cel.
źródło
To nie jest dokładnie to, o co prosiłeś, ale gdybym szukał czegoś, co pozwoliłoby mi wyciągnąć się z rutyny tworzenia stron internetowych, wciąż korzystając z tego doświadczenia i kontaktów, zająłbym się pisaniem aplikacji na Androida i iPhone'a. Możliwość sprzedaży aplikacji, która uzupełnia witrynę internetową klienta, może naprawdę wyróżnić się na rynku Internetu, do którego coraz częściej można uzyskać dostęp za pośrednictwem urządzeń mobilnych.
źródło
Czy naprawdę osiągnąłeś limit PHP, czy tylko limity PHP, jakie znasz?
Zajrzałeś do Drupala ? Jest to oparty na PHP CMS i framework programistyczny, który zdecydowanie zachęca do dobrych standardów i praktyk kodowania. (Musiałem współpracować z OSCommerce w poprzednich pracach, czuję twój ból.) Chociaż oparty na PHP, jest wystarczająco różny, że często „właściwy” sposób zrobienia czegoś w czystym PHP nie jest właściwym sposobem na zrobienie tego w Drupal, i będziesz mieć dobrą krzywą uczenia się, aby się naprawdę wspinać. Może to jednak zmienić twoje spojrzenie na możliwości PHP jako języka i rozwoju sieci jako całości.
źródło