Elektroda.pl
Elektroda.pl
X
Servizza
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Od czego powinien zacząć początkujący programista

02 Maj 2015 08:01 3585 46
  • #1 02 Maj 2015 08:01
    2596515
    Użytkownik usunął konto  
  • Servizza
  • #2 02 Maj 2015 08:14
    speedy9
    Pomocny dla użytkowników

    Polecam .NET/C#. Bardzo powszechnie wykorzystywane w dużych firmach.
    JAVA też jest bardzo popularna, ale chcesz jej używać, to proszę, dobrze się jej naucz, bo pisanie dobrych, zoptymaliwanych aplikacji jest w niej trudne, jak często widać po efektach ;)
    Generalnie pisanie aplikacji webowych jest na topie, i pewnie długo będzie.

    0
  • #3 02 Maj 2015 08:43
    2596515
    Użytkownik usunął konto  
  • #4 02 Maj 2015 14:42
    Marvinn8686
    Poziom 20  

    Aplikacje PC:
    - Jeśli Windows i technologia Microsoftu, to zdecydowanie C# jeśli chodzi o to co jest używane w firmach. Visual C++ to kojarzy mi się tylko z utrzymywaniem starego kodu, raczej C# jest głównie wspierany przez MS. Nie mówię na 100% nie, po prostu ja się nie spotkałem z VC++ w pracy. C# gwarantuje sporą ilość ofert.
    - JAVA - masa ofert dla programistów, sporo korporacyjnych systemów, popularny język z w miarę dobrymi możliwościami dla początkujących. Myślę, że niezagrożony przez najbliższe lata jeśli chodzi o zastosowanie komercyjne.
    - Jeśli C++ to liczy się głównie Embarcadero Builder XE (dawniej Borland) - raczej utrzymywanie istniejącego kodu. Kiedyś napisano sporo dużych, korporacyjnych programów w Borlandzie i teraz trzeba to użytkować. Paru kolegów w pracy ma "przyjemność" grzebać w takim kodzie odziedziczonym po nie zawsze kompetentnych poprzednikach. Z C++ komercyjnie liczy się również Qt, plus jest taki, że jeśli trzymasz się tylko bibliotek Qt to kod powinien być przenośny (Win/Linux/Mac), również wsparcie dla Androida. Sam piszę w Qt czasem w pracy programy pecetowe na własny użytek. Utrzymuję też system z aplikacją działającą na linuksie embedded. W porównaniu z C# i JAVA jest dużo mniej ofert dla C++ i raczej nie dla początkujących, tylko z wymaganym doświadczeniem. Trochę ofert związanych z branżą embedded (urządzenia z RTOS lub zwykłymi systemami operacyjnymi). Wyższy próg wejścia, chociaż jeśli umiesz choćby średnio C++, to w miarę bezproblemowo można przejść na JAVA/C#. Nie mówię dobrze, bo C++ zna dobrze tylko niewielka część z tych którzy tak o sobie mówią (sam jeszcze nie jestem na tym etapie :) ).
    - Delphi/FreePascal - Delphi jest czasem używane, tj. widziałem kilka ofert oraz znam jedną firmę gdzie go używają. Poza tym nie orientuję się, FreePasca, Lazarus - nie mam danych.
    - C - w dzisiejszych czasach C używa się głównie do niskopoziomowych bajerów jeśli chodzi o PC (kernel linuksa, sterowniki urządzeń) oraz do programowania mikrokontrolerów. Mikrokontrolery to całkiem sensowna branża, choć dość mocno związana z elektroniką. Wśród programistów mikrokontrolerów więcej znam osób wywodzących się z elektroniki niż informatyki (zupełnie inaczej niż obserwuję dla Javy a nawet C++). C jest obecnie najpopularniejszym językiem dla małych kontrolerów (bez systemu operacyjnego). Samo C jest łatwiejsze i bardziej przewidywalne niż C++, ale dobrze jest ogarniać niskopoziomowe rzeczy, podstawy elektroniki.

    Jest jeszcze cały Web Development - tworzenie stron, serwerów i języki takie jak PHP, Python, Ruby, Java script. Nie rozpisuję się, bo nie jest to moja branża, miejmy nadzieję, że ktoś kompetentny się wypowie.

    Języki o typowo naukowych/niszowych/specjalistycznych zastosowaniach jak Matlab, R, LabView pominąłem.
    Dobrze jest znać choć jeden język skryptowy (Python/Bash/Perl) jako dodatek - przydaje się w ułatwianiu i automatyzowaniu sobie pracy.

    0
  • #5 02 Maj 2015 15:32
    2596515
    Użytkownik usunął konto  
  • #6 02 Maj 2015 16:22
    JakubMi
    Poziom 16  

    Moim zdaniem, jeżeli chodzi o programowanie to najbardziej opłacający i popularny jest kierunek C# i Java. Nie ma sensu brać się za C++, jest mniej popularny, bardziej wymagający, często wymagane jest doświadczenie komercyjne. W przypadku C#/Java łatwiej będzie zacząć, sporo firm tego używa. Doucz się również z baz danych i wzorców projektowych, często używanych bibliotek. Nie spoglądałbym na popularność Androida czy IOS-a. W segmencie aplikacji mobilnych jest mniej pracy niż tradycyjnym i nie prędko się to zmieni. W takim banku jest kilkaset osób rozwija tradycyjne systemy i kilkanaście pisze aplikacje mobilne.

    0
  • #7 02 Maj 2015 16:35
    Marvinn8686
    Poziom 20  

    @machmichgut Jeśli jednak MS i C#, to nowe Visual Studio trochę zajmuje, i przestrzeni dyskowej i zasobów. Miałem kompa o podanej przez Ciebie specyfikacji, ale wtedy używałem bodajże VS 2008, miało z pewnością mniejsze wymagania.

    0
  • #8 02 Maj 2015 17:26
    2596515
    Użytkownik usunął konto  
  • #9 02 Maj 2015 21:20
    dondu
    Moderator Mikrokontrolery Projektowanie

    Na pytanie:

    LinkedIn napisał:
    “Who’s getting hired and what are they doing?”


    w 2013 według LinkedIn było tak:

    Od czego powinien zacząć początkujący programista

    Patrz pozycje 4, 17, 19.

    W 2014 było tak:

    Od czego powinien zacząć początkujący programista

    pozycje 10 i 19.

    Zestawienia zrobione na podstaw3ie:

    LinkedIn napisał:
    To get to an answer, we analyzed the skills and experience data in over 330 million LinkedIn member profiles.


    Takie zestawienie należy oczywiście traktować z pewnym dystansem, ale generalne pojęcie jakieś daje.

    Więcej na: http://blog.linkedin.com/2014/12/17/the-25-hottest-skills-that-got-people-hired-in-2014/

    2
  • #10 02 Maj 2015 21:32
    2596515
    Użytkownik usunął konto  
  • Servizza
  • #12 03 Maj 2015 07:37
    2596515
    Użytkownik usunął konto  
  • #13 03 Maj 2015 16:10
    blow
    Poziom 10  

    Jeżeli chodzi o Visual Studio to możesz skorzystać z najnowszej darmowej wersji Community. Ogólnie moim zdaniem trend jest na technologie webowe i mobilne. Jeżeli zaczynasz to warto zwrócić uwagę też na technologie bazodanowe, na pewno SQL (MSSQL, MySQL), a jak będziesz miał jeszcze trochę chęci i czasu to możesz zrobić rozeznanie z NoSQL bo też ma sporo zastosowań.
    Polecam przy nauce korzystać z najnowszych wersji środowiska, języka, narzędzi itd. żebyś nie był od razu na starcie "zacofany". Taka branża że produkty z 2008 to już historia :)

    0
  • #14 03 Maj 2015 19:41
    2596515
    Użytkownik usunął konto  
  • #15 04 Maj 2015 06:57
    2596515
    Użytkownik usunął konto  
  • #16 04 Maj 2015 07:53
    speedy9
    Pomocny dla użytkowników

    Może skup się na początek na programowaniu wysokopoziomowym i daj spokój z Assemblerem i mikrokontrolerami. Jak się tego nauczysz to potem nauczysz się programować mikrokontrolery, bo to się w C robi chociażby. Nie wszystko na raz, bo nic z tego nie wyjdzie.

    0
  • #17 04 Maj 2015 09:52
    2596515
    Użytkownik usunął konto  
  • #18 04 Maj 2015 10:01
    cepelia
    Poziom 20  

    Może warto by było iść do szkoły o odpowiednim kierunku kształcenia ?
    I czasem przeczytać coś ze dwa razy zanim opublikujesz bo nie mogłem uwierzyć w to co czytam...

    1. Określ co chcesz pisać (web, mobile, systemy ERP, dodatki do office, programowanie baz danych, wizualizacje, automatyka)
    2. Trzeba przyswoić jeden (za to dobrze) język programowania, bo pisanie programu to raczej zrozumienie działania komputera oraz przewidywanie zachowania użytkownika, a reszta języków jest bardzo podobna chodzi jedynie o składnie.
    3. Niestety bez poznania mechanizmów obsługujących dostęp do danych się nie da...
    4. Zanim zaczniesz pisać hello word'y warto by przeczytać jakąś książkę o "dobrych praktykach programistycznych" czyli poznać jak powinien być zbudowany program.
    5. Jeśli już wybierzesz język, urządzenie to wtedy zaczynasz instalować odpowiednie narzędzia, to wtedy musisz wiedzieć co nie co o tworzeniu interface'u itd.
    6. Załapać się na staż w jakiejś firmie tworzącej oprogramowanie... w tym samym czasie cały czas ćwiczyć.. i tak po 2 latach może ktoś cię zatrudni, jako młodszego programistę lub asystenta...

    0
  • #19 04 Maj 2015 10:41
    2596515
    Użytkownik usunął konto  
  • Pomocny post
    #20 04 Maj 2015 11:43
    cepelia
    Poziom 20  

    Odważnie... i bez sensu..

    Jeśli chodzi o androida to polecam AndroidStudio, lub Eclipse (choć ja nie ogarniam tego programu).

    Link do programu i przykładowych rozwiązań...

    Zacznij od tego jakie masz hobby, albo przypomnij sobie kiedy potrzebowałeś skorzystać z jakiegoś rozwiązania programowego a nie było go dostępnego w zainstalowanych programach...
    Nie wiem, może potrzebny był by szybki sposób (w budowlance) aby określić powierzchnię ścian do kosztorysu, termostat do akwarium, sprawdzenie temperatury w domu ze smartfona będąc na wakacjach... albo coś podobnego...
    Przypomnij sobie i spróbuj takie rozwiązanie przygotować...
    Błądzenie po omacku i bez celu skończy się się tym, że szybko się zniechęcisz.

    1
  • #21 04 Maj 2015 12:43
    2596515
    Użytkownik usunął konto  
  • Pomocny post
    #22 04 Maj 2015 13:18
    cepelia
    Poziom 20  

    Jest i nazywa się Visual Studio Express for Windows Mobile Visual Studio Express for Windows Mobile

    Pamiętaj że kafle mają specyficzną określoną ściśle wielkość.
    Przydatne linki..
    Link 1
    Link 2

    Microsoft poza tym że udostępnia bardzo dobre narzędzia dla programistów to dodatkowo posiada bardzo rozbudowaną pomoc dla developerów.

    0
  • Pomocny post
    #23 04 Maj 2015 13:38
    dondu
    Moderator Mikrokontrolery Projektowanie

    machmichgut napisał:
    Prócz C# i C++ powinienem też zacząć się rozglądać nad oprogramowaniem do programowania mikro kontrolerów. Popularne to ATxmega. Powstało pytanie.
    Czy muszę już zacząć kombinować sprzęt czy mogę naukę programowania mikro kontrolerów zacząć od świata wirtualnego?
    Czy znacie jakiś program pod Windows który emuluje i imituje taką ATxmegę?
    No i co sądzicie o Assemblerze do programowania?

    Na wszystkie te pytanie znajdziesz odpowiedzi: http://mikrokontrolery.blogspot.com/p/spis-tresci.html

    1
  • #24 04 Maj 2015 13:39
    2596515
    Użytkownik usunął konto  
  • #25 04 Maj 2015 17:56
    gaskoin
    Poziom 38  

    Tak serio, to powinieneś się skupić na jednym języku a nie na 10. Jak chcesz css html i php + SQL, to niczym innym chwilowo się nie zajmuj. Później zobaczysz, że wszystko to jedno i to samo :)

    MongoDB (to taka baza dokumentowa) robi fajne kursy online za friko https://university.mongodb.com/courses/schedule . Możesz wziąć pierwszy z brzegu język bo w zadaniach i tak go się prawie nie używa.

    machmichgut napisał:
    Zaczynam od wbicia w głowę na perfekt właśnie Html i wszystkiego co będzie mi potrzebne do budowania w miarę wyglądających witryn.


    W tej branży musisz wiedzieć jedną rzecz. Mianowicie - jak obsługiwać google :) Mało kto pamięta wszystko, a często okazuje się, że nasze problemy rozwiązał już ktoś inny. Jest też mnóstwo frameworków i ciężko to wszystko na raz ogarnąć.

    machmichgut napisał:
    Czy posiłkowanie się programami do tworzenia www to jakieś zło


    To zależy od tego co Twoja strona ma robić.
    Są technologie, w których tak jak mówisz, można zrobić stronę w 15 minut nie mając pojęcia o tworzeniu stron. Wszystko wyklikujesz online. Klikasz "deploy" i Twoja strona hula w internecie. Tylko, że najczęściej to albo jakiś blog, albo jakaś prosta strona ze statyczną treścią.
    Z drugiej strony możesz mieć strony internetowe, które wymagają przetwarzania danych nie tylko po stronie przeglądarki, ale też po stronie serwera. Takich stron wyklikać się nie da.

    machmichgut napisał:
    Jak to jest w pracy takiego WebDesign-era? Ma on prawo do wyboru na czym pracuje czy pracodawcy (korporacje) zmuszają do pracy na tym czym dysponują? Znalazłem ogłoszenie że potrzebują do pracy nad firmowymi stronami internetowymi i do zarządzania bazami danych. W wymaganiach napisali: AutoCad. po co?


    Problem pojawia się często tam, gdzie trzeba zapłacić za licencję :) Wszystko zależy od skali projektu i tego, kto przy nim pracuje. Możesz mieć narzucone środowisko pracy, bo ktoś sobie wymyślił, że takie jest najlepsze. Może też być narzucone, bo klient tak chce. Zapytaj na rozmowie jak to jest.

    0
  • #26 05 Maj 2015 09:54
    2596515
    Użytkownik usunął konto  
  • #27 05 Maj 2015 10:06
    dondu
    Moderator Mikrokontrolery Projektowanie

    machmichgut napisał:
    Ostatnio napisałem do gościa z zapytaniem: potrzebuję stronę (10zakładek), menu we flashu, strona startowa z bannerami (odnośniki), głębiej: phpbb3 (forum), joomla (blog), formularze kontaktowe, mapa google z lokalizacją i możliwość rejestracji przez użytkownika (baza w sql). Cena końcowa? 50zł! Poważne to jest?

    Podsyłaj im ten link: http://mikrokontrolery.blogspot.com/2011/04/dlaczego-nie-nalezy-pracowac-za-darmo.html

    0
  • #28 05 Maj 2015 10:23
    2596515
    Użytkownik usunął konto  
  • #29 05 Maj 2015 10:38
    dondu
    Moderator Mikrokontrolery Projektowanie

    Każdy kij ma dwa końce - prawie 10 lat temu potrzebowałem projekt logotypu. Ogłosiłem konkurs na różnych forach grafików. Nagroda 1000 zł netto co wydawało się wystarczającą kwotą, by wzbudzić zainteresowanie, a jednocześnie akceptowalnym dla mnie kosztem.

    Efekt był dwojaki:
    1. nadesłano kilkadziesiąt projektów,
    2. na niektórych forach rozgorzała dyskusja, dot. kwoty nagrody.

    To drugie było fajnym doświadczeniem - ludzie się oburzali, że powinno być 5000 i więcej (bo takie kwoty wydają miasta na ich logotypy), a nie marne 1000 - psy na mnie wieszano :) Nie dyskutowałem jedynie obserwowałem, aż któregoś dnia odezwał się ktoś rozsądny i napisał mniej więcej tak:

    Cytat:
    Ludzie - to się nazywa przedsiębiorczość. Jeśli można mieć coś za 1000 zł, to dlaczego ma wydawać 5000zł?

    Wolny rynek powoduje także takie sytuacje o jakich piszesz i jedyną wtedy obroną jest przekonanie zamawiającego, że w dłuższej perspektywie oferta za 50zł, będzie dla niego początkiem problemów. On jednak nie musi podzielać tego zdania lub akceptować to ryzyko :)

    0
  • #30 05 Maj 2015 10:44
    2596515
    Użytkownik usunął konto