Jakie języki warto dołączyć do Javy

0

Panowie (i Panie).

Czy macie taki zestaw języków, które no robią z programisty na prawdę solidnego programistę. Nie wiem czy dobrze się wyrażam, ale chodzi mi o zestaw języków, które dają już szerokie możliwości. Po prostu czego warto się jeszcze uczyć prócz Javy?

JAVA (różne frameworki). I do tego JavaScript i czy może coś jeszcze?

Zastanawiałem się nad np Groovym i frameworkiem Grails. Albo może zupełnie coś innego: Ruby on Rails?

Jakie macie zdanie?

0

Question: What are the five most important languages that programmers should know?

Bjarne Stroustrup: First of all, nobody should call themselves a professional if they only knew one language. And five is a good number for languages to know reasonably well. And then you’ll know a bunch, just because you’re interested because you’ve read about them because you’ve wrote a couple of little programs like [...]. But five isn’t a bad number. Some of them book between three and seven.

Let’s see, well my list is going to be sort of uninteresting because it’s going to be the list of languages that are best known and useful, I’m afraid. Let’s see, C++, of course; Java; maybe Python for mainline work... And if you know those, you can’t help know sort of a little bit about Ruby and JavaScript, you can’t help knowing C because that’s what fills out the domain and of course C-Sharp. But again, these languages create a cluster so that if you knew either five of the ones that I said, you would actually know the others. I haven’t cheated with the numbers. I rounded out a design space.

It would be nice beyond that to know something quite weird outside it just to have an experience, pick one of the functional languages, for instance, that’s good to keep your head spinning a bit when it needs to. I don’t have any favorites in that field. There’s enough of them. And, I don’t know, if you’re interested in high-performance numerical computation, you have to look at one of the languages there, but for most people that’s just esoteric.

0

Haskell ;) A jak chcesz cos bardziej nowoczesnego i z nutka OOPu to Scala/F#.

1

jeśli znasz statyczną kobyłę w postaci Javy, to warto również poznać języki dynamiczne takie jak Python czy JavaScript (czy inne), żeby zobaczyć świat "z drugiej strony lustra. No i żeby mieć jakiś język do pisania czegoś na szybko, bez odpalania IDE i tworzenia dziesiątek instancji klas.

Czy macie taki zestaw języków, które no robią z programisty na prawdę solidnego programistę.

na pewno warto poznać jakiś język funkcyjny, albo przynajmniej wykorzystywać podejście funkcyjne w języku wieloparadygmatowym.

0

Może inaczej przedstawię to o co mi chodziło.

O języki, które tworzą dla mnie jakąś bazę, że JAVA + wykorzystanie JS jest pewnie bardzo popularne chociażby przydaje się w webowych aplikacjach.

Niż np. połaczenie Javy i Objective-C (którego chciałbym się nauczyć).

Dlatego chciałem spytać jakie według Was języki (zestaw języków) daję na prawdę porządną bazę, podstawę, która ma szerokie możliwości i zastosowania.

Patrząc właśnie pod programowanie w Javie, którego będę i tak sporo się uczył wiadomo.

1

Ale wlasnie caly dowcip polega na tym, ze praktycznie niewazne jakiego innego jezyka/frameworka/biblioteki sie nauczysz, to spowoduje, ze bedziesz pisac lepszy kod, z uzyciem jezyka/frameworka/biblioteki zrodlowej. Warto natomiast tak jak @LukeJL napisal poznac cos funkcyjnego, bo teraz sie tworzy soft odpalany rownolegle (zegary nie ida w gore, idzie liczba rdzeni), a jezyki funkcyjne przez zalozenie o niemutowalnosci obiektow (ktore sa w ten sposob automatycznie thread-safe) + braku efektow ubocznych metod, sa bardzo porzadane i stad jest ta 'moda na funkcyjnosc', bo same jezyki sa od kilkudziesieciu lat.

Generalnie to ja bym na twoim miejscu sie nauczyl F#, nowa platforma, nowe srodowisk, prawodpodobnie im wiecej nowosci, tym bedziesz w stanie pisac lepszy kod u siebie, wykorzystujac patterny zaczerpniete z innych platform.

0

Zdecydowanie polecam Scalę, bo działa również na JVM'ce. Język trochę otworzył mnie na poznawanie nowych rzeczy.
Na zajęciach na uczelni mamy trochę Assemblera i to również jest ciekawe doświadczenie.
Osobiście planuje również zapoznać się z jeszcze jakimś językiem dynamicznie typowanym.

AA zapomniałbym. Chciałbym jeszcze poznać jakąś nową odmianę Lispa. Dużo dobrych rzeczy słyszałem o tym języku.

0

Eh. To nie takie łatwe jak się wydaje. Zbyt dużo możliwości. A i tak pomijam mnóstwo frameworków Javowych.

0

spróbuj C#, C++

0

Jestem obecnie w podobnej sytuacji: znam Javę, ryję MySQLa i zastanawiałem się w co uderzać w przyszłości. Doszedłem do wniosku, że zajmę się C bo przyda mi się poprogramować nieobiektowo, jvm jest napisana w C (przynajmniej ta sunowsko-oraclowska z tego co wiem), no i do Javy można wrzucać kod w C. Może liznę trochę asemblera siłą rozpędu.
Za to kusi mnie Ruby, choć zdaje się, że w dużej mierze jego kompetencje pokrywają się z Javą. Co o tym myślicie?
A co do C# to nie wiem czy można nawet mówić o nauce w przypadku javovca. Przeglądałem ostatnio ten język w skryptach do Unity, i tak jakby dziewczyna ta sama, tylko chyba była u fryzjera? A może to nowa bluzka..? :)

0

Za to kusi mnie Ruby, choć zdaje się, że w dużej mierze jego kompetencje pokrywają się z Javą. Co o tym myślicie?

Ruby mi się wydaje ciekawym językiem, ale czy jest on używany gdziekolwiek poza webem? Jakoś nigdy nie miałem motywacji, żeby się go uczyć. Python też jest fajny, a w przeciwieństwie do Ruby'ego używa się w znacznie większej liczbie zastosowań.

Doszedłem do wniosku, że zajmę się C bo przyda mi się poprogramować nieobiektowo, jvm jest napisana w C

Ja próbowałem sobie odświeżyć te tematy (kiedyś programowałem w C++). Też chciałem iść w C, w duchu minimalizmu (C++ to trochę barokowy język), ale z tego co widzę to C++ ma więcej ciekawych bibliotek do użycia, i wielu rzeczy po prostu nie da się zrobić w czystym C, ponieważ biblioteki są w C++ i oparte na obiektowo-templatowym API (chyba, że da się jakoś zalinkować skompilowane już biblioteki i korzystać z nich za pomocą jakichś bindingów - ale jeśli tak, to po prostu nie umiem tego zrobić).

Chyba więc lepiej iść w C++, ewentualnie ucząc się też programowania w czystym C.

0

Podstawą dla programisty Javy jest SQL (najlepiej TSQL i PL/SQL), HTML i JavaScript.

Czy znajomość C++ jest przydatna programistom Javy? Nie sądzę.
Podstawy C jednak mogą się przydać, gdy trzeba wywołać bibliotekę natywną.

Dodatkowo warto znać Basha i Pythona.

Dla własnego rozwoju można też się pouczyć języków funkcyjnych, np. Ocamla.

Oczywiści w pracy zawodowej może się okazać, że potrzebne są inne języki. Ja używam jeszcze ActionScript i Groovy. Nie jesteś jednak w stanie przewidzieć wszystkich języków potrzebnych u konkretnego pracodawcy.

0

Ja planuje poza Javą nauczyć się Pythona. Może działać jako język JVM, jako język skryptowy ogólnego przyznaczenia jak i do www. Jest do niego mnóstwo bibliotek, również do GUI (np. niezłe Qt). W przeciwieństwie do Ruby jest banalnie prosty i nie pozwala na aż taką kreatywność, co w pewnych sytuacjach może być zaletą.

Językiem, którego braki doskwierają mi najbardziej jest JavaScript. Przez studia tracę mnóstwo czasu i niestety mocno spowalnia to moje tępo uczenia się nowych rozwiązań (bo pracuje na 4/5 i tylko w pracy się rozwijam: głównie JEE, SQL, Postgres, czasem jakiś JavaScript i C#). :)

Na dodatek poznaje SQL i procedury składowe, konkretnie dialekt pg/SQL. Do precedur składowych w Pythonie można również używać Pythona, jak poznam i wykorzystam dwa, będę znał słabe i mocne strony obu rozwiązań.

W przyszłości również Groovy i Scala, ale to raczej przy okazji pracy w jakimś frameworku, gdy już będę miał mocne podstawy w samej Javie.

Czasem piszę w C# jak w pracy coś trzeba zrobić. Raczej bezboleśnie, taka lepsza Java.

0

Lista moich faworytów:

  • Rust
  • Haskell
  • Scala

Z czego biegle piszę tylko w Scali, ale Rust i Haskell mnie pociągają.

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