Cel mai bun limbaj de programare! Incepatori

In c# si java faci debugging f usor.
Pui breakpoint-ul unde vrei in ide and you are good to go.

Acum totul este mult mai usor decat era inainte.

1 Like

toti vor sa inceapa cu bani multi :))

bine platit: Scala. E nisat, poti face orice cu el, dar probabil nu o sa stii, pentru ca … junior cu gandul la bani :crazy_face: Daca ajungi sa fii priceput, mie mi-a lasat impresia ca-i cu 30 40% mai bine platit decat limbajele cunoscute: Javascript, Java, C#, asta pentru ca e destul de folosit in sisteme critice (exemplu servicii de plati al bancilor).

beginner friendly: C#: printre cele mai mari comunitati, anti-microsoftistii nu-l vor recomanda vreodata :)) e usor de invatat, multitudine de proiecte in piata. Pana sa incep sa lucrez cu C#, eu eram la nivel de php procedural, pot spune ca mi-a salvat cariera de programator :)) cu .NET ca framework, in C# n-o sa duci lipsa de activitate. Ai Visual Studio care mi se pare ca ajuta enorm, nu gasesc un ide mai bun.
Javascript il mai pot trece in aceeasi categorie cu C#. Cu frameworkurile lui pentru frontend (oricare dintre ele).

alege un limbaj care crezi ca te atrage / ca-l intelegi / ca ai posibilitatea sa-l inveti (sansa angajare/proiecte/echipa/etc), nicidecum care crezi ca-i mai bine platit. Toate-s platite in functie de cat ce capabil esti.

  • eu am vorbit despre limbaje pe care le-am folosit in proiecte. Am mai incercat Java sau nodejs foarte putin, insa cel putin pentru backend, n-as renunta la Scala pentru oricare din ele
2 Likes

Sunt mai multe criterii în lista ta, nu neapărat compatibile între ele.

De exemplu, poate fi beginner friendly dar să nu fie plătit bine. Apoi, cu siguranță nu există un limbaj care îți rezolvă toate problemele. Sigur, atunci când ai un ciocat în mână totul în jurul tău pare a fi un cui, dar poate nu vrei să faci aplicații GUI în php sau aplicații CLI în godot. La fel și pentru biblioteci. Una peste alta, a judeca un pește după abilitatea lui de a se cățăra în copaci nu e chiar cel mai înțelept lucru pe care îl poți face, nu? :smiley:

De la un limbaj pentru începători ar trebui să ai câteva pretenții:

  • ecosistem/tooling. Ai nevoie să instalezi 20 gb de IDE și să sacrifici 20 de virgine pe altarul biților pentru a face lucrurile să ruleze (java, .net)? Este doar un executabil pe care îl muți unde ai nevoie? (godot, că tot am zis de el)
  • are mesaje de eroare clare? Un mesaj de eroare este însoțit de 50 de linii de stack trace? Pentru un începător sunt mai utile mesajele concise, de genul „ai uitat ghilimele”
  • ce limbaj folosesc prietenii tăi? Pare stupid, dar să știi că este foarte important ca atunci când nu îți iese ceva, să ai o altă pereche de ochi care să-și dea cu părerea.

De aici poți merge un pic mai departe: câtă experiență are individul cu PC-ul? E.g. știe să seteze PATH să adauge nu-știu-ce-cale? Ce vârstă are individul? (pentru că un puști de 10 ani o să fie stimulat de alte chestii față de cineva de 25).


Una peste alta, aproape toate răspunsurile de mai sus sunt corecte. Poți începe cu JS, PHP, Python, C# etc. Dacă ești pe Mac (sau ai un iPad), îți recomand să te uiți peste Swift Playground.

Dar orice ai alege, nu trăi cu impresia că ăla este limbajul și că te căsătorești cu el. Încearcă mai multe, vezi care ți se potrivește mai bine.

3 Likes

Pe scala sunt firme care te angajează dacă ști Java sa înveți scala la ei, e cerere mare și putini developeri.

1 Like

Da, eu am ajuns sa lucrez cu scala pentru ca aveam background in C#, care nu-i foarte diferit de Java, care nu-i foarte diferit de Scala :)) dar pentru un junior, e un limbaj greuț. Mie a început să-mi placa abia după al 2lea an de lucrat cu el pentru ca atunci am început sa înțeleg chestii mai complexe. Însă, nici acum nu am reușit sa învăț partea funcțională, l-am folosit ca pe un limbaj oop (ce-i drept am lucrat cu Play framework care-i și în Java). Pe Scala am găsit un instructor roman foarte bun pe udemy, câte are și tutoriale pentru începători, bine structurate, bazate foarte mult pe exerciții practice (Daniel Ciocarlan). Însă, imi e greu sa cred ca un junior știe ce și unde sa caute…

Hold my beer

https://livefreeordichotomize.com/2019/06/04/using_awk_and_r_to_parse_25tb/

https://cweiske.de/tagebuch/json-query-jq.htm

1 Like

Off: Cu intrebarea asta trebuie sa faci distinctie intre Cel mai bun limbaj de programare pentru Incepatori si Cel mai popular limbaj de programare in momentul asta. Si sa iei in calcul interesele incepatorului.

Cel mai bun limbaj este cel relevant intereselor tale. Chiar nu conteaza ce limbaj alegi atat timp cat te ajuta sa implementezi ce vrei. Stiu ca suna stupid dar nu pe cat pare. Atata timp cat intrebarea este autentica si vrei sa inveti programare pentru ca iti place nu doar pentru ai nevoie. Daca vrei sa inveti programare pentru ca este trendy si ai auzit ca plateste bine. Atunci vei avea parte de o trezire la realitate destul de urata.

Cam toate limbajele sunt destul de similare. Daca vrei altceva pur si simplu te muti pe altceva intr-un timp relativ de scurt. Ca programator, trebuie sa ai competenta asta.

Dar ma rog, cerintele sunt “bine platit”, asa ca interesele sunt clare. Si vrei si “beginner friendly” pe deasupra. Sa nu mai spun ca trebuie sa fie si universala.

Bine platit si usor nu prea se leaga una cu alta. Adica de ce sa fie bine platit daca e usor de invatat. Daca stai sa o iei logic.

Si plus de asta, limbajul nu este acelasi cu domeniul in care se utilizeaza. Pe langa limbaj mai trebuie sa inveti si alte chestii care nu depind doar de limbaj. Si cam acolo se pierde orice incepator.

On: Dupa cum am spus, totul este relativ cu interesele tale. Din moment ce nu ai mentionat care sunt. Am sa presupun si eu web-dev si chestii generice.

Pentru absolut incepatori care vor sa invete doar un limbaj pentru inceput. As spune javascript pentru ca este valid atat pentru back-end dar si front-end. Chiar si aplicatii standalone.

Pentru web-dev de exemplu. Poti sa folosesti python pentru back-end. Dar obligatoriu trebuie sa stii si javascript pentru front-end. Si pot spune ca si javascript are o librarie destul de mare.

Daca esti o persoana care a lucrat cu c/c++ pe la scoala pe undeva. Dupa cum a spus si restul, Go lang este un candidat ideal. Altfel, sunt chestii destul de greu de explicat si de inteles pentru un incepator.

Recomandarea mea este sa inveti ce sta la baza unui limbaj de programare. Si pe urma te adaptezi la orice in functie de nevoi. Nu vrei sa te regasesti in expresia “one-trick pony”.

2 Likes

Eu as propune ( Node-RED (nodered.org)), pentru un incepator. Lucrezi mai mult cu logica, si nu-ti trebuie sa stii ce este in toata bucataria.

In JavaScript nu ai nevoie de IDE să faci debugging.
Cel putin nu întotdeauna.
Pe partea de front end pur si simplu te uiti in browser developer tools.

Sa nu uităm că pentru începători si configurarea IDE poate fi un coșmar.

Ma omori cu depanarea in javascript. Imi aduc aminte de erorile din Angular1 de trebuia sa copiez un url lung al erorii ca sa vad ce inseamna in alta pagina din browser. Si celelalte frameworkuri Js au aceeasi problema, iti toarna un sir lung de erori de nu stii care e cauza de fapt, pentru ca sursele sunt obfuscate.
Depanarea in C# a fost ok, din cate tin minte te lasa sa mergi inainte si inapoi prin cod. Depanarea in PHP e iar usoara odata ce ai setat mediul si ai activat xdebug.
In concluzie, nu as pune depanarea ca un motiv bun pentru a invata un limbaj.

Sursele nu sunt obfuscate la o aplicație modernă în development, ai sourcemaps.

Eventual îți întra in locuri unde nu vrei dar poti să pui skip source pe anumite fișiere sursă.
Poți pune logpoint-uri, nu doar breakpoint-uri.

La ce se referea Cosmin e că in Java ai o smecherie foarte tare dacă nu rulezi Quarkus/ceva compilat cu GraalVM.

Ai un server de debugging la care poti da attach la orice cod de java și să pui breakpoint in timp ce rulează, inclusiv când e în docker. E foarte tare experiența. By default, fără să setezi xdebug.

La C# la fel, intra direct în VM IDE-ul.

1 Like

Voi sunteți întregi la cap? :smiley:

Eu cred că mulți dintre voi au uitat complet cum este să fii la început de drum, când, dacă știi să instalezi … chestii este deja lucru mare.

Îi dați înainte cu debugging, docker, sourcemaps și alte minuni.

Este ca și cum vine cineva care vrea să învețe franceză și îi recomanzi să-l citească pe Voltaire…

5 Likes

Stii cum e, unii raspund autorului altii comentatorilor. Sa nu il speriem insa pe autor cu informatii incomplete.

Apropo,
Am găsit o carte excelentă despre command line și data science:

E gratuită și am învățat multe în doar 10 minute de citit.

@iamntz era răspuns la comentariu nu pentru autor

Pentru începători, eu recomand cartea Grokking Algorithms și repo-ul GitHub - egonSchiele/grokking_algorithms: Code for the book Grokking Algorithms (https://amzn.to/29rVyHf) ca să compari limbajele de programare.

Python e superb pentru începători dacă e să revenim la discutia inițială. Doar că nu e ideal pentru ceva serios.

4 Likes