Wpis z mikrobloga

#programowanie #naukaprogramowania #informatyka

Chciałbyś zacząć przygodę z programowanie, ale nie wiesz jaki język programowania wybrać? Ten wpisy jest dla Ciebie.

Nie słuchajcie ludzi, którzy mówią, że język X jest lepszy. To nie jest i nie może być prawdą. Języki zwykle mają bardzo konkretne zastosowania i w nich są niezastąpione. Fakt, że C++ jest szybszy nie ma znaczenia, jeżeli chcemy napisać stronę internetową.

Moim zdaniem dla początkujący programistów przy wyborze języka programowania mają znacznie: trudność, ilość ofert pracy, zastosowania, jak ciężko jest stworzyć praktyczny projekt(wpisy do CV, własna zabawa). Poniżej analizuję kilka popularny języków ze względu na te parametry:

Java:

+ Dużo ofert pracy - ulubiony język korporacji.

+ Dużo różnych zastosowań: webdev, android, aplikacje pc.

+/- Średnio przyjazny dla początkujących: język jest prosty, ale napisanie pierwszego programu wymaga znajomości wielu jego elementów.

- Java jest znana ze swojej rozwlekłości, stworzenie praktycznego projektu do CV wymaga istotnie więcej pracy niż w PHP, Python, Ruby.

Python:

- Mało ofert pracy, ale to się powoli zmienia.

+/- Bardzo dużo zastosowań: wedev, skrypty systemowe, OpenOffice, Gimp, Blender, komercyjnie liczy się tylko webdev.

+ Bardzo przyjazny dla początkujących: proste rzeczy są proste, trudne są średnio trudne.

+ Napisanie użytecznego programu wymaga istotnie mniej kodu niż w: Java czy C++.

JavaScript:

+ Dużo ofert pracy.

- Zastosowania komercyjne ograniczają się do webdev.

+ Bardzo przyjazny dla początkujących.

+ Pisania własnych projektów np widgetów jest proste.

- JS jest językiem specyficznym, przestawienie się z JS na Java/Python/C++/C# wymaga zmiany sposobu myślenia.

C++:

+ Dużo ofert pracy.

+/- Wiele zastosowań, ale zwykle wymagają dużej wiedzy z specyficznej dziedziny.

- Bardzo nie przyjazny dla początkujących - Język jest trudny. Program się często nie kompiluje i kompilator nie potrafi

wskazać dlaczego, wycieki pamięci. Łatwo się zniechęcić.

- Stworzenie praktycznego projektu wymaga bardzo dużo pracy i nauczenie się dodatkowych bibliotek.

C#:

+ Dużo ofert pracy.

- Zastosowania ograniczone do aplikacji dla Windows.

+/- Średnio przyjazny dla początkujących - patrz java.

+ Stworzenie praktycznego programu jest proste.

PHP:

+/- Dużo ofert pracy, z powoli malejącą tendencją. PHP jest systematycznie wypierane przez Python i Ruby.

- Tylko webdev.

+ Bardzo przyjazny dla początkujących.

+ Praktyczne projekty są proste.

- PHP jest specyficznym językiem, trochę uczącym złych praktyk, przestawienie się na inny może wymagać wysiłku.

- PHP jest pogardzane przez programistów innych języków, musicie się liczyć z szykanami :)

Podsumowując: najbezpieczniejszymi wyborami są Java i C#. Najprostszymi Python i JavaScript. Nie zaczynajcie nauki od C++.
  • 43
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@notauser: Lepiej zacząć od zrozumienia co stoi za samym programowaniem, jakie są paradygmaty poszczególnych rodzajów programowania, w jaki sposób rozumie to komputer i tak dalej. Uczenie się języka żeby zostać programistą to jak uczenie się obsługi noża chirurgicznego by zostać chirurgiem - potrzebne, ale warto zacząć od solidnych podstaw ogólnych.
  • Odpowiedz
Zawodowo programuję w: C++ i Java (...) i Python (...) oraz Javascript


@notauser: Generalnie jak zawodowo programujesz we wszystkich 4 na raz to zawodowo nie programujesz w żadnym z nich, chyba, że masz w sumie z 15 lat doświadczenia rozdzielone po kilka lat na te języki. Ale zakładając nawet, że mówisz prawdę i znasz je wszystkie wystarczająco żeby klepać w nich komercyjnie - to z twojego podsumowania to absolutnie nie
  • Odpowiedz
@notauser: Załóżmy, że chciałbym od zera napisać program, który zarządza bazą folderów (wraz z zawartością). Tj. albo potrafi ściągnąć najaktualniejszą wersję ostatniego folderu (pliki aktualizowane na zasadzie dopisania do nazwy daty modyfikacji), albo ładuje nowy folder dopisując do niego automatycznie datę modyfikacji i kopiuje go we właściwe miejsce na dysku (tak jakby do poprawnej kategorii).

Którym językiem byłoby mi najłatwiej coś takiego zrobić albo którym się powinno to zrobić, żeby
  • Odpowiedz
@mattommottam: Od C. C może boleć, frustrować, jest używane tylko do specyficznych zastosowań i zapewne jego przyswojenie nie zapewni Ci dobrze płatnej pracy w Polsce, ale będziesz wiedział w jaki sposób komputer rozumie ludzką, abstrakcyjną warstwę języków wysokopoziomowych. To będzie programowanie strukturalne, potem możesz płynnie przejść do C++ i poznania paradygmatów programowania obiektowego. Po przyswojeniu tego, będziesz na takim poziomie, że sam zdecydujesz w czym Ci wygodniej programować i do
  • Odpowiedz
- Stworzenie praktycznego projektu wymaga bardzo dużo pracy i nauczenie się dodatkowych bibliotek.


No to pytanie w którym języku nie trzeba poznawać bibliotek żeby powstało coś praktycznego. Można tak punktować po kolei w związku z czym nie polecam początkującym tego wpisu.
  • Odpowiedz
@notauser: Garść info o PHP i JavaScript, staż 12 lat w PHP, 6 lat w JS

PHP:

- tylko webdev - czyli trzeba oprócz tego nauczyć się HTML/CSS, jak działa
  • Odpowiedz