Od laika do programisty..

Od laika do programisty..
K1
  • Rejestracja:ponad 13 lat
  • Ostatnio:około 11 lat
  • Postów:24
0

Witam,
Na wstępie chciałbym się przywitać, gdyż jest to mój 1 post. Szukałem odpowiedniego forum, i jak widać znalazłem.
Mam 16 lat i jestem laikiem odn. programowania. Dużo czytałem na temat tego jak szybko nadgonić zaległości, gdyż w dziecinstwie byłem bardziej skłonny do grania w gry, a nie poznawania ich od wewnątrz. Jestem 3 miesiace po 16 urodzinach i aktualnie uczęszczam do liceum profil mat-inf. Jedyne czego uczymy sie na lekcjach informatyki z programowania to pascal i html, wczesniej jakis badziew z wordem robilismy.
Wiem, ze wielu z was zaczynało jako 9-10 latki a nawet wczesniej i teraz są naprawde dobrze obeznani w funkcjonowaniu systemu i przeróżnych jezykach programowania.
Aktualnie uczę się C++ mam książke grębosza (symfonia c++). I pytania jakie nasuwają mi się w miare przyswajania umiejętności (aktualnie c++ konsolowy.... :/) to to, czy ja mam szanse wybić się i w przyszłości dorównać wam, czyt. dobrym programistom.
Czy dobrze robie ucząc sie c++, jak tak, to czym zająć się póżniej; aktualnie mam plan po c++ zając sie WinAPI a potem assemblerem badz c#(lecz c# to podobna składnia do c++, więc pojdzie mi lżej)nastepnie java/javascript php itd.
Co do przyszłości to mam inne plany, bo jak wczesniej wspomniałem nie jestem obeznany lecz coś tam już wiem(...)Natomiast jeżeli dobrze rozplanowuje sobie czas i nauke to może zostane dobrym programistom w wieku 26 lat :/
Przygotowuje sie do zdania matury z matematyki na poziomie rozszerzonym i ewentualnie tej informatyki, słyszałem ze rozszerzona nie jest trudna (no ale jak dla mnie to i na chwile obecna jest trudna).
Dodam, ze nie mam problemu z wielogodzinnym spędzaniem czasu przy komputerze, bo wczesniej interesowałem sie sony vegasem i coś tam w photoshopie umie zrobic.

Dziękuję za rady i wyrozumiałość
kial123 (czyt. laik od tyłu)
:)

0

Za późno zacząłeś nie ma sensu się uczyć.
Teraz przeczytaj to co napisałem i odpowiedz sobie na pytanie czy mi wierzysz? Odpowiedź na to pytanie będzie odpowiedzią na twoje.

0

Wszystko jak zwykle ZALEŻY. Sam musisz określić co chcesz robić. Jeśli chcesz np. iść w stronę aplikacji webowych, to assemblera, a nawet c++ możesz sobie spokojnie odpuścić i iść od razu w stronę C#. Jeśli programowanie gier, to pewnie posiedzisz w c++ dłużej. Im szybciej się określisz tym lepiej dla Ciebie, bo bycie dobrym od wszystkie w rzeczywistosci rzadko działa :)

Pozdrawiam,

0
kial123 napisał(a)

Wiem, ze wielu z was zaczynało jako 9-10 latki a nawet wczesniej i teraz są naprawde dobrze obeznani w funkcjonowaniu systemu i przeróżnych jezykach programowania.

A to dobre, w wieku 9-10 lat to większość z nas latała za piłką, bo wtedy komputer był dobrem luksusowym.

Nie wiem kto Ci takich durnot nagadał, ale żeby zostać w miarę ogarniętym programistą wystarczy około 2 lat doświadczenia niekomercyjnego, tzn. nauka jakiegoś języka + biblioteki. Później idziesz do pracy i tak na prawdę wtedy widzisz ilu rzeczy jeszcze nie wiesz / nie umiesz, zwłaszcza w początkowych etapach pracy nadrabiasz to czego nie wiesz i bardzo szybko rośnie Ci ta umiejętność, nazwana pięknie "programowaniem" :) Nic nie zastąpi doświadczenia komercyjnego, jak by nie patrzeć :)

xeo545x39
Wtedy to ja nie znałem konsoli Windows'a ;f
Patryk27
Cieszę się, że nie jestem większością :D
MA
Prawda, oglądać TV :D
mto9
  • Rejestracja:ponad 14 lat
  • Ostatnio:około 10 lat
  • Postów:380
0

do uuu: jak nie ma sensu jak ma.. Ja również odkryłem w sobie chęć programowania w wieku 16 lat.. zacząłem od Pascala(zaledwie podstawy gdyż pisało mi się w nim dziwnie) przeszedłem do c++... dziś mam 17 lat i mogę powiedzieć że jestem nico na większym poziomie niż podstawowy ale nadal mniejszy niż zaawansowany ;D jeśli wiecie o co mi chodzi ;d napisałem już programik do wysyłania e-maili do adresów zawartych w pliku txt ;D lizłem o Qt oraz Perl;D i dzisiaj moge powiedzieć że po roku nauki jestem znacznie na wyższym poziomie niż moi rówieśnicy z szkoły(TECHNIKUM INFORMATYCZNE).. Więc polecam zacząć od C++.. jeśli Ci się spodoba możesz posiedzieć w nim nieco dłużej jeśli nie szukaj dalej.. ;D nigdy nie jest za późno jeśli ma się silną wole i czas !

LA
uuu miał coś innego na myśli, jeżeli autor odpowie sobie "tak, jest za późno", to rzeczywiście szkoda by się uczył, a jeżeli powie "nigdy nie jest za późno na naukę, postaram się i może się uda" to jak najbardziej warto jeżeli ciągnie go do tego.
K1
  • Rejestracja:ponad 13 lat
  • Ostatnio:około 11 lat
  • Postów:24
0

silna wole raczej mam,
bo zazdrosc mnie zzera jak ktos zna php, xhtml, html + css, javascripta, java, pythona, delhi, c++, c#, assemblera, winApi, directX zna sie na debugowaniu deasemblacji i tworzy cheaty do kazdej gry w pare godzin badz nawet minut....
no ale to sa lata praktyki, tylko mnie zastanawia jak to wszystko pojąc mając np. 16 lat a wczesniej zaczynajac przygode z programowaniem w wieku 10 lat.

0
kial123 napisał(a)

silna wole raczej mam,
bo zazdrosc mnie zzera jak ktos zna php, xhtml, html + css, javascripta, java, pythona, delhi, c++, c#, assemblera, winApi, directX zna sie na debugowaniu deasemblacji i tworzy cheaty do kazdej gry w pare godzin badz nawet minut....
no ale to sa lata praktyki, tylko mnie zastanawia jak to wszystko pojąc mając np. 16 lat a wczesniej zaczynajac przygode z programowaniem w wieku 10 lat.

Nikt nie zaczyna w wieku 10 lat programować, nie wiem kto Ci takich pierdół nagadał. Ludzi znających te wszystkie języki w stopniu zaawansowanym można policzyć zapewne na palcach jednej ręki.

Patryk27
Jak to nikt? A ja (a nawet wcześniej)? :(
msm
Zacząłeś w wieku 10 lat programować, czy znasz te wszystkie języki (WinAPI, directX, html)
K1
  • Rejestracja:ponad 13 lat
  • Ostatnio:około 11 lat
  • Postów:24
0

ten ktos to na pewno osoba znajaca sie na rzeczy, pomagał przy stworzeniu najlepszego jak projekcie z ktorymi najwieksze korporacje uporałyby sie pare miesiecy, warto dodać ze robił to z drugim programistą....
No ale nic, ja zabieram sie do nauki :)
Dziekuje za wszystko

edytowany 2x, ostatnio: kial123
xeo545x39
  • Rejestracja:ponad 14 lat
  • Ostatnio:ponad 5 lat
  • Lokalizacja:Kosmos
  • Postów:1571
0

A ja się zastanawiam czy uuu to nie przypadkiem nnn do góry nogami. :D

Co do tematu. Ja zacząłem mając 14,5 chyba lat od Pascala, również tylko podstawy. Potem przeszedłem na C++, potem C#. Napisałem dużo badziewstw, trochę się nauczyłem wielu rzeczy, a aktualnie też mam 16 lat i widzę siebie jako programistę w przyszłości z dużym potencjałem. Moim zdaniem 14-17 to najlepszy wiek na zaczęcie przygody z programowaniem, można i wcześniej, ale rzadko ktoś odkrywa to wcześniej lub zachęca się do tego. Jeśli nadal będziesz się uczył intensywnie, trenił i jeszcze raz trenił to za 2 lata czy nawet następny rok będziesz już w miarę dobrze programował. Wiadomo nie nauczysz się wszystkiego z książek i neta, jest jeszcze praca, ale na nią przyjdzie czas. To co będziesz umiał co powinieneś bez umiejętności, które nabyjesz w pracy w zupełności ci starczy do podjęcia studiów i potem znalezienia dobrej pracy. Nie masz się czym przejmować tylko ćwicz. Mnie się np. ostatnio odechciewa, ale nie na zawsze tylko chwilowo nie mam weny ani pomysłów co by tu zkodzić.


Co kurła debuguj ten kod i streszczaj się klientowi chce się fixa, a jak nie kurła to odpale visuala i ci pomoge a tego byś nie chciał
edytowany 3x, ostatnio: xeo545x39
mto9
  • Rejestracja:ponad 14 lat
  • Ostatnio:około 10 lat
  • Postów:380
0

Bywa i tak że weny zabraknie ;D wtedy jakaś gierka aż zatęsknisz za kodzeniem po nocach;D

K1
  • Rejestracja:ponad 13 lat
  • Ostatnio:około 11 lat
  • Postów:24
0

lepsza ksiazka "od zera do gier kodera" Xion'a, czy Grębosza "symfonia c++"
? :)

several
Obydwie przeczytaj. Symfonia to raczej taki podręcznik, Xion podchodzi do tego trochę inaczej. W "Od zera..." nie ma omówionych strumieni z tego co pamiętam, sa one obszernie potraktowane w symfonii. Za to w "Od zera..." całkiem przyjemnie jest przedstawiona obiektowość.
mto9
  • Rejestracja:ponad 14 lat
  • Ostatnio:około 10 lat
  • Postów:380
0

Jeśli masz zamiar kupić którąś z tych książek to polecam symfonie(nową wersje), jeśli natomiast chcesz się uczyć z pdf to na pewno nie z symfoni gdyż w pdf znalazłem tylko starsze wydanie(stary standard).. osobiście polecam C++ dla każdego:)

nerf
  • Rejestracja:ponad 14 lat
  • Ostatnio:prawie 11 lat
0

Ja też zaczynałem w wieku 16 lat(Od 1 klasy technikum inf) znaczy już w gim coś tam robiliśmy na html ale właśnie na początku średniej powiedziałem sobie to jest to co chcę robić i tak się zaczęło;p

Przechodziłem przez pascala,ruby,scale,c++ teraz siedzę w c# i już chyba na dobre w tym zostanę.

Zdarzały się chwilę zwątpienia i dalej się zdarzają jednak to nie powód by zostawiać to;d
Dziś mam 17 lat za sobą ani jednego skończonego większego projektu.

Nic tylko życzyć ci powodzenia!

(serio mace rozsz. chcesz zdawać? Ja też nad tym myślę ale jestem w TI i maca tu jest na poziomie I kl. gim :D)

Zobacz pozostałe 5 komentarzy
LA
Bez studiów nie można poszerzać horyzontów ani znaleźć czas na programowanie? Nie lepiej zamiast patrzeć na ogłoszenia na realną wiedzę i umiejętności i w ten sposób rozwijać się? Większość ogłoszeń jest odnośnie PHP, choć wiadomo jaki PHP jest i sugerując się tym będziesz pisał "w tym czymś" ?
nerf
Nie mówię, że bez nich nie można no ale spójrz ile masz czasu na naukę dodatkowo 4-5 lat? To czas na projekty i można się załapać wtedy gdzieś. Powiedz mi kto przyjmie typka po technikum inf bez doświadczenia i projektów(nie mówię tu o kalkulatorze,chacie czy programie do wysyłania emaili) do pracy gdy, aż roi się od takich z zakończonymi studiami? Wiem, że jeszcze nie podołam pracy przy programowaniu bo "wiem, że nic nie wiem";p
LA
Dziwne tłumaczenie. Czasu będziesz miał w obu przypadkach tyle, ile wygospodarujesz, na studiach dowalą Ci sporo do robienia, imprezy też ciężko omijać (chyba że nie przepadasz), a poza tym dopóki nie dotkniesz nawet pracy, to nie wyczujesz o co chodzi, serio. Inna sprawa ciągle informatyka, komutery, programowanie - to nudne się robi z czasem. Rób swoje, dociekaj problemów, nie graj na czas na razie, bo i po co? Im więcej wiesz że nic nie wiesz tym więcej wiesz co wiedzieć powinieneś ; ) Najważniejszy jest być szczęśliwym w życiu : )
nerf
No rozumiem. Ale myślisz, że jestem wstanie podjąć prace gdy tylko zrozumiałem o co chodzi? Tego się uczy ciągle. Nie chcę tu prowadzić jakiejś kłótni czy studia czy nie ;p Tak bycie zadowolonym z tego co się robi i jak się żyje jest najważniejsze.
LA
nie, nie ważne zresztą ; p
0
kial123 napisał(a)

lepsza ksiazka "od zera do gier kodera" Xion'a, czy Grębosza "symfonia c++"
? :)

Jeśli mowa o PDFach na necie, to jedna i druga jest przestarzała i uczy złych nawyków. Jeśli mowa o wersji papierowej, to zdecydowanie Symfonia C++ Standard się nada :)

bez rozszerzonej matmy nie dostaniesz się na studia z informatyki!

Większej głupoty nie czytałem :) Fizyka rozszerzona + Informatyka rozszerzona i spokojnie się dostanie na PW, przy samej fizyce rozszerzonej dostanie się na troche gorsze uczelnie (typu WAT np.). Problem natomiast może być z utrzymaniem się na pierwszym roku, z analizą matematyczną, algebrą czy dyskretną, nie mając dobrych podstaw z matematyki.

mto9
Hmm z tego co mi wiadomo uczelnie patrzą na wynik z rozszerzonej matematyki i fizyki przede wszystkim..
K1
to prawda, ale zalezy jaki kierunek :D :D
nerf
Fizyki w ogóle nie będę zdawał ;p I na uniwerek w gdańsku ew. politechnikę coś w kierunku infy.
K1
  • Rejestracja:ponad 13 lat
  • Ostatnio:około 11 lat
  • Postów:24
0

Tak, zdaje rozszerzona bo docelowo chce isc na budownictwo na politechnike, ale zobaczymy jak mi pojdzie programowanie.
aktualnie ucze sie z pdfu "C++ dla każdego" po namowie jednego z uczestników tej dyskusji.
Co do postu wyżej, jeżeli masz majce podstawową w technikum to jest dokładnie odwrotnie co ja mam. Mam matematyke rozszerzoną a informatyke kulejącą, tak, ze babka nie umie nawet programowac w c++ ani w niczym innym. Sama sie chwaliła ze zna Delphi i pascala, jednakze nie chce nas nauczyc Delphi tylko naucza tego pascala, który do niczego sie nie przyda.
W sumie to nie wiem po co ta fizyka na studia informatyczne i to w dodatku rozszerzona, bardziej bym był skłonny powiedzieć, ze wymagana jest matematyka, nie mając o tym pojęcia :)

edytowany 1x, ostatnio: kial123
nerf
To nic... U mnie nie dość, że maca kuleje to i inne wszystkie zawodowe przedmioty :D Z chęcią przeniósł bym się do jakiegoś LO ale już mam 2 rok w TI i nie za bardzo.
mto9
Nie moge powiedzieć tego o mojej szkole.. Silny nacisk na matematyke! Codziennie kilka godzin dodatkowych zajęć. Nie co gorzej z przedmiotami zawodowymi.. Niby mamy dobrych nauczycieli(programistów) , którzy uczą nas dopiero od 3 klasy głownie na specjalizacji.. a poki co na lekcjach u nas gosciu uczy nas z książki albo każe mi prowadzić lekcje ;D
Kerai
  • Rejestracja:ponad 16 lat
  • Ostatnio:ponad 2 lata
  • Lokalizacja:London
0
kial123 napisał(a)

Czy dobrze robie ucząc sie c++
Oczywiście...

kial123 napisał(a)

aktualnie mam plan po c++ zając sie WinAPI
Nie ma co się dziś tego uczyć... staroć, poza tym lepiej się uczyć czegoś, co nie jest uzależnione od jednej platformy.

kial123 napisał(a)

a potem assemblerem badz c#
To masz dylemat jak między lotem w kosmos, a budowaniem zamków z piasku

kial123 napisał(a)

(lecz c# to podobna składnia do c++, więc pojdzie mi lżej)
Jedyna co C# ma wspólnego C++ to literka C w nazwie.

kial123 napisał(a)

nastepnie java/javascript php
Nie wiem po co się chcesz tego tak wszystkiego uczyć... dodam tylko, że Java nie ma nic wspólnego z js i php, więc ich bym nawet w jednym zdaniu obok siebie nie umieszczał...

edytowany 1x, ostatnio: Kerai
Janek566
  • Rejestracja:ponad 14 lat
  • Ostatnio:ponad 13 lat
  • Postów:112
0

LOL napisałeś dobrym <ort>programistom</ort>. Jedynym dobrym programistą na tym forum jest misiek reszta to leszcze ale on ma teraz wolne bo są święta więc na forum jest tylko demonical który trolluje ROTFL

A tak na serio to jak umiesz angielski to skończ tutorial na necie i kup c++ programming language stroustrupa.


"Home is where the Wi-Fi is" - Dalai Lama
edytowany 3x, ostatnio: Demonical Monk
Kerai
LoL?
allocer
jak zwykle pieprzy od rzeczy
Janek566
laurearel jak zwykle świetna wypowiedź.
madmike
Janku, niejednokrotnie zwracano Ci uwagę - zwracaj się do innych z szacunkiem... cobyś się opamiętał: ban do 15 listopada. BTW: nie ma włażenia z anonimowego konta, jak ban to ban :]
Wibowit
  • Rejestracja:około 20 lat
  • Ostatnio:około 11 godzin
0

C# ma składnię nieco podobną do C++ i to jest wielki błąd. Jakikolwiek język ze składnią wzorowaną na C/ C++ przeobraża się z czasem w potworka - najlepszym przykładem jest C++ właśnie, ze swoją mega nieczytelną i skomplikowaną składnią. Składnia Javy jest z zamierzenia podobna do C/ C++, Gosling zrobił to dlatego, żeby przyciągnąć programistów C/ C++. Gdyby nie to to zrobiłby coś na wzór Scali, pytany o to, w którym języku by programował zamiast Javy, odpowiedział szybko i bez wahania: Scala - http://www.adam-bien.com/roller/abien/entry/java_net_javaone_which_programming . Podobnie twórca Groovy powiedział, że gdyby znał Scalę wcześniej to by w ogóle tego języka nie stworzył. Twórca C# (Anders Hejlsberg, ten sam co stworzył Delphi i pewnie dlatego C# celuje w programistów o takim samym IQ jak programiści Delphi) popełnił karygodny błąd i oparł jego składnię o składnię Javy. Potem zaczął dokładać coraz to nowsze słowa kluczowe i próbował wprowadzić do języka jakieś ludzkie konstrukcje, niestety nawet gdy się dorobi do małego Fiata cztery turbosprężarki to nadal nie będzie to Porsche. W przypadku Javy dokładanie nowych ficzerów jest sporo wolniejsze i fanatycznie wymuszana jest wsteczna kompatybilność (niestety), ale bardziej przemyślane.

Ogólnie polecam Scalę (niektórzy powiedzą, że jestem fanatykiem, natomiast ja sam twierdzę, że Scala ma wiele mankamentów, wiele z nich dziedziczy po JVM/ Javie i w ogóle planuję stworzenie własnego języka i maszyny :) ). Można sobie spojrzeć na listę życzeń do Javy: http://wikis.sun.com/display/ProjectCoin/2009ProposalsTOC - programiści Scali nie mają takich durnych problemów, bo język Scala nie był wzorowany na składni C++ i dzięki temu że od początku łączy paradygmaty imperatywne i funkcjonalne, jest bardzo skalowalny.

Pominąłem w swoim zestawieniu języki dynamicznie typowane (jako że ze statycznie typowane łatwiej wytestować, programy wykonują się szybciej, a Scala, jako sztandarowy przykład zwięzłego obiektowego języka statycznie typowanego, jest porównywalnie zwięzła do np takiego Pythona) oraz języki czysto funkcyjne (jeszcze ich do końca nie opanowałem, tzn Haskella przynajmniej).


"Programs must be written for people to read, and only incidentally for machines to execute." - Abelson & Sussman, SICP, preface to the first edition
"Ci, co najbardziej pragną planować życie społeczne, gdyby im na to pozwolić, staliby się w najwyższym stopniu niebezpieczni i nietolerancyjni wobec planów życiowych innych ludzi. Często, tchnącego dobrocią i oddanego jakiejś sprawie idealistę, dzieli od fanatyka tylko mały krok."
Demokracja jest fajna, dopóki wygrywa twoja ulubiona partia.
Zobacz pozostałe 4 komentarze
Kerai
@allocer właśnie napisał, że jest powoli rozwijana przez kompatybilność wsteczną...
nerf
Co do składni języków z rodziny c mi jako początkującemu podchodzi bardziej od tej ze scali(przyzwyczajenie?;p). Jest ktoś na tyle dobrze obeznany by opisać zastosowanie scali?
Spine
Scali nikt nie używa, przez co lista życzeń mniejsza :D Java jest popularniejsza dlatego słabi programiści mają więcej "durnych problemów"
Wibowit
Prawie wszystkie problemy z tej listy mają bardzo zwięzłe rozwiązanie w Scali, np zamiana z listy integerów na listę stringów z dodatkowym podwojeniem: val listaStringów = listaIntegerów.map((_ * 2).toString). W Javie to jest kupa linijek, a więc "kreatywni" programiści kombinują na sto sposobów jak się zbliżyć do zwięzłości Scali (tudzież Pythona, Rubyiego, etc z tym, że te języki są wolne ze względu na dynamiczne typowanie i inne "dynamizmy", a Scala ma wydajność Javy).
Wibowit
Ponadto to że język jest "niszowy" nie oznacza, że nie da się na nim zarobić. Każdy język był kiedyś "niszowy" (być może oprócz tworów typu C#, na marketing którego władowano grube pierdyliardy sestercji) i praktycznie każdy staje się z czasem COBOLem. Np w Erlangu można spokojnie wyciągnąć w Polsce naście tysięcy miesięcznie jako programista (znajomy mi taką ofertę polecał, tyle że nie umiem Erlanga, a do języków dynamicznie typowanych mnie nie ciągnie i nie mam z nimi prawie doświadczenia), a jest to język praktycznie nieobecny wśród moich znajomych ze studiów (na UJ).
0

Scala ? Zabawka na zimowe wieczory. A i tak jak już tracić czas to wolę Haskella. Ja zacząłem programować w wieku 19 lat idąc na studia i całe szczęście - od razu nauczyli mnie dobrych nawyków programowania i odpowiedniego podejścia. Nie ma to jak mimuw ;)

LA
  • Rejestracja:około 16 lat
  • Ostatnio:prawie 13 lat
0

Ja natomiast zasugeruję naukę algorytmiki, Cormena polecę, ale nie na początek, na rozgrzewkę przeczytałbym sobie "Rzecz o istocie informatyki" dla przyjemnego poglądu na temat, potem może Niklaus Wirth Algorytmy + Struktury Danych = Programy , co do konkretnych języków jeden Ci powie C/C++ to podstawa, inny że biznes opiera się na Java/.NET głównie, a jeszcze inny poleci pythona, bo przyjemny i ogromne możliwości, natomiast algorytmika wszędzie jest ta sama.

0

Skoro mowa o algorytmice, to Cormen to właśnie początek, a potem niebieskie książeczki + pdfy z zagraniczych konkursów.

JS
Ja bym nie polecał Cormena na początek, bo może się przerazić. Chociaż można od tego zaczynać, ale to zależy bardziej od nastawienia danej osoby.
JS
  • Rejestracja:około 14 lat
  • Ostatnio:13 dni
  • Postów:417
0

Również polecam naukę algorytmiki, ponieważ to nigdy nie wyjdzie z mody, jak niektóre języki programowania.
Literaturę do nauki pisałem już nieraz i nie chce mi się znowu powtarzać.
Jeśli chodzi o rozpoczęcie nauki informatyki w liceum/technikum, to zobacz sobie profil tego gościa na topcoder: http://community.topcoder.com/tc?module=MemberProfile&cr=7442498&tab=alg przy czym oprócz wysokiego miejsca w topcoder jest również mistrzem świata w programowaniu zespołowym i był 3 w konkursie google code jam. Przy czym czytałem wywiad z nim i w liceum startował w olimpiadzie informatycznej, lecz nie udało mu się dojść do finału, lecz nie poddawał się. Do tego na początku studiów jest nie potrafił zbytnio programować obiektowo (a takie programy pisze się na topcoder), więc jego pierwszy program na tym konkursie był prawie całkowicie w C. Jak można zobaczyć dzięki determinacji już na drugim roku udało mu się osiągnąć czerwony kolor (co oznacza, że masz > 2200 pkt.), a na czwartym był w czołówce (do tego na tym roku zdobył mistrzostwo świata). Obecnie jest doktorantem na UW (lecz spokojnie mógłby się dostać do jakiejś jednej z najlepszych firm na świecie, ale nie wszyscy lecą tylko na kasę, której w firmach oczywiście można zarobić więcej), więc jak sam mówił w wywiadzie, najważniejsze jest, aby się nie poddawać i nawet jeśli ktoś zaczyna się uczyć informatyki dopiero na początku studiów, to jeśli będzie się wystarczająco dużo uczył, to może dogonić nawet najlepszych.

allocer
  • Rejestracja:ponad 14 lat
  • Ostatnio:ponad 11 lat
0

SPOJ + jakaś książka do algorytmiki wymieniona w poprzednich postach. Sam język jest tylko narzędziem. Istotniejsze jest nauczyć się myśleć "torem" programisty i zmienić swoje postrzeganie świata. Reszta będzie kwestią treningu.


Idiots, idiots everywhere.
Wibowit
  • Rejestracja:około 20 lat
  • Ostatnio:około 11 godzin
0

Składnia wzorowana na C ma szereg wad. Np typ poprzedzający nazwę zmiennej/ funkcji/ etc Taka składnia z góry wyklucza inferencję typu. Const correctness w C++ jest skopane do bólu, chcąc wymusić dobre const correctness w programie trzeba klepać w kółko słówko "const" nieraz wielokrotnie w jednej linii (nota bene: w Javie w const-correctnes jest ograniczone/ niepełne). Nie chce mi się przypominać dziwactw C++, odrobina z nich jest na: http://www.horstmann.com/cpp/pitfalls.html

Scala zabawka? Bezproblemowa integracja z pierdyliardem frameworków Javowych i gotowy stos do robienia rozproszonych webowych aplikacji biznesowych (typesafe.com) to cechy zabawki? Bezproblemowo można mieć kod Scalowy i Javowy w jedym projekcie. Haskell jest dla ludzi z fiołem na punkcie matematyki, w zasadzie ten język wygląda tak jakby chciał maksymalnie przypominać składnię typowo matematyczną. Kompilator kompiluje do kodu natywnego, więc o sensownej integracji z Javą czy .NETem można zapomnieć.

Algorytmów natomiast nikt się za nas nie nauczy. Moja sytuacja była taka:

  • w liceum algorytmów nie znałem prawie żadnych, gdy wziąłem Cormena do ręki w 3. klasie liceum to go od razu rzuciłem w kąt, bo to była dla mnie czarna magia wtedy, a czasu do OI miałem mało (wiem, głupie myślenie, ale wolałem skupić się na rozwiązywaniu zadań swoimi metodami, przez co wymyśliłem samodzielnie algorytm Dijkstry),
  • na studiach olewałem wykłady począwszy od ok połowy pierwszego semestru, oczywiście nie wszystkie, ale (prawie na pewno) większość opuściłem,
    A mimo tego uważam, że z algorytmów jestem dobry, przynajmniej tutaj na forum nie ma zbyt wielu takich orłów jak ja :D albo siedzą cicho. Spokojnie można się nauczyć algorytmiki z Cormena, Wikipedii, PDFów z opisami algorytmów, omówień zadań z konkursów itp Umiejętność czytania PDFów z pracami naukowymi jest tu najbardziej niezbędna, gdyż książki do algorytmiki zawierają tylko oklepane algorytmy, co zresztą chyba normalne, bo zbiór wszystkich egzotycznych algorytmów miałby rozmiar wielkiej biblioteki, a nie jednej książki.
    Jeśli w liceum nie ogarnie się Cormena (czy tam ogólnie podstaw algorytmiki) to nie ma co liczyć na miejsca w topcoderze w kategorii algorytmika będąc na studiach. Nie da się tak szybko nadrobić materiału. ASD jest na drugim roku, pierwszy rok jest zawalony przez matmę, więc na szlifowanie algorytmiki jest mało czasu. Trzeba po prostu wziąć Cormena do ręki już na początku liceum i czytać go od czasu do czasu, aż do skutku.
    Nie polecam do nauki serwisów w których wysyła się kod, np spoj.pl czy podobne (oczywiście w konkursach wysyłanie kodu jest obowiązkowe). Za dużo jest problemów z wczytywaniem i wypisywaniem danych, poza tym zwykle zbiór dozwolonych języków programowania jest bardzo mały. Polecam serwisy typu projecteuler.net

"Programs must be written for people to read, and only incidentally for machines to execute." - Abelson & Sussman, SICP, preface to the first edition
"Ci, co najbardziej pragną planować życie społeczne, gdyby im na to pozwolić, staliby się w najwyższym stopniu niebezpieczni i nietolerancyjni wobec planów życiowych innych ludzi. Często, tchnącego dobrocią i oddanego jakiejś sprawie idealistę, dzieli od fanatyka tylko mały krok."
Demokracja jest fajna, dopóki wygrywa twoja ulubiona partia.
edytowany 1x, ostatnio: Wibowit
JS
Myślę, że jednak warto trochę robić zadania algorytmiczne, bo w innym wypadku nie wiadomo jak tak naprawdę połączyć różne algorytmy, tak żeby wyszło nam rozwiązanie wzorcowe (często w bardziej złożonych zadaniach trzeba skorzystać z kilku algorytmów, aby nam wyszło rozwiązanie wzorcowe), a Cormena można w pół roku przeczytać, jeśli się ktoś spręży (a już na pewno przynajmniej treści, które są wykorzystywane w konkursach, bo np. nie są nam potrzebne sieci sortujące).
Wibowit
Cormen w pół roku przez licealistę? Wiesz jaki jest dzisiaj poziom liceum? Czytanie bez zrozumienia nie ma sensu.
JS
Wiem, bo chodzę do liceum, może przesadziłem z przeczytaniem w pół roku wszystkiego co jest na konkursach, ale to co jest najważniejsze, czyli do teorii grafów (przy czym można sobie odpuścić na początek, np. analizę kosztu zamortyzowanego) + teoria liczb + geometria obliczeniowa + KMP. Oczywiście mówię tu o osobie, która poświęci na to sporo wolnego czasu. A najtrudniejsze zagadnienia matematyczne znajdują się przy omawianiu złożoności, a na konkursy wystarczy wiedzieć jaką algorytm ma złożoność. Chociaż dowody też często bardzo trudno zrozumieć.
0

to żeby znaleŹć złoty środek na rozwój w młodym wieku to co proponujecie

  1. dołączenie do jakiegoś projektu w języku w którym się rozwijamy
  2. pisanie własnych projektów, uczenie się nowych języków, robienie zleceń
  3. algorytmika, wzorce, uczenie się pod konkursy
Wibowit
  • Rejestracja:około 20 lat
  • Ostatnio:około 11 godzin
0

Zakładanie projektów przez grupę niedoświadczonych programistów to wg mnie zły pomysł. Nawzajem będą się uczyć złych nawyków i nikt do nich krytycznie nie podejdzie.
Zlecenia robione przez nowicjusza? Pełno takich na zlecenia.przez.net Zlecenia nieudane, dużo czasu, nerwów i pieniędzy stracone nie tylko przez zleceniodawcę, ale i niedoświadczonego zleceniobiorcę.

Myślę, że na początku najlepiej pisać własne projekty, czytać blogi o metodykach programowania, wzorcach itp Musowe jest wg mnie nauczenie się (przynajmniej po łebkach) jakiegoś języka funkcyjnego (no ja wiadomo, że Scalę polecę) - funkcyjność wchodzi do mainstreamu powoli, najnowszy .NET ma już elementy funkcyjności, Java 8 też będzie mieć, C++11 także coś tam ma (tyle, że mało ludzkie, tak jak cały język C++).


"Programs must be written for people to read, and only incidentally for machines to execute." - Abelson & Sussman, SICP, preface to the first edition
"Ci, co najbardziej pragną planować życie społeczne, gdyby im na to pozwolić, staliby się w najwyższym stopniu niebezpieczni i nietolerancyjni wobec planów życiowych innych ludzi. Często, tchnącego dobrocią i oddanego jakiejś sprawie idealistę, dzieli od fanatyka tylko mały krok."
Demokracja jest fajna, dopóki wygrywa twoja ulubiona partia.
aurel
Moderator
  • Rejestracja:około 15 lat
  • Ostatnio:około 12 godzin
0

@niesmieszny_czlowiek, przerób sobie chociaż łatwe zadania na spoju. Trochę średnich. Ze 2-3 trudne.
Jak będziesz po tym etapie, zaproponowałabym ci wymyślanie sobie prostych programów do zrealizowania (ale raczej samemu niż z innymi uczącymi się, z powodów, które podał wyżej Wibowit). Prostych w stylu: kalkulator, tetris, organizer (aby w trayu siedział).

A potem to już będziesz na pewnie na studiach ;)

somekind
Moderator
  • Rejestracja:około 17 lat
  • Ostatnio:6 dni
  • Lokalizacja:Wrocław
0
Wibowit napisał(a)

Twórca C# (Anders Hejlsberg, ten sam co stworzył Delphi i pewnie dlatego C# celuje w programistów o takim samym IQ jak programiści Delphi) popełnił karygodny błąd i oparł jego składnię o składnię Javy.

Wynika z tego, że wystarczy mieć IQ programisty Delphi aby opanować składnię Javy. Nawet się zgodzę.

Zobacz pozostałe 4 komentarze
Wibowit
Nie odróżniasz języka od platformy - to nie świadczy dobrze o twoim IQ. Naprawdę twierdzisz, że znam tylko język Java? Kto tu jest idiotą?
somekind
Z Twego posta wynika, że aby znać składnię Javę trzeba mieć IQ programisty Delphi. Nie ma znaczenia, czy ktoś zna inne języki czy nie. Zatem znów - jeśli znasz Javę, to obraziłeś (albo skomplementowałeś) sam sobie (w zależności od tego, jak oceniasz IQ programistów Delphi). I nie wiem kto tu jest idiotą, ja to słowo rezerwuję wyłącznie dla niekompetentnych polityków, lekarzy i wykładowców.
Wibowit
Wystarczy mieć != trzeba mieć. W poście zawarłeś relację >=, a w ostatnim komentarzu ==. Oczywiście, aby posiąść zdolność wiązania butów trzeba mieć IQ np co najmniej 60, czyli można mieć np 160. I właśnie dla mnie znajomość składni Javy, C#, Delphi etc to taka znajomość wiązania butów.
somekind
Co do znajomości składni, to masz rację. To wiązanie butów jest godne tytułu Człowieka-Metafory. ;) Tylko Twój post był raczej o czym innym, w połowie bezsensownym gdybaniem, a w części złośliwy wobec programistów Delphi i C#, tylko przypadkiem programistom Javy też dogryzłeś. :P
Wibowit
Dogryzłem tym, dla których znajomość składni Javy to maksimum pojmowania i takie było moje zamierzenie od początku (a nie żaden przypadek). I nawet jest to zgodne z twoją reakcją w tym poście. Po prostu na początku komentowania pomyślałem, że jednak zrozumiałeś o co mi chodziło, a tu jednak było inaczej.
allocer
  • Rejestracja:ponad 14 lat
  • Ostatnio:ponad 11 lat
0
Wibowit napisał(a)

Zakładanie projektów przez grupę niedoświadczonych programistów to wg mnie zły pomysł. Nawzajem będą się uczyć złych nawyków i nikt do nich krytycznie nie podejdzie.

Nie do końca. Załóżmy studenci, którzy chcą się rozwijać w programowaniu mogą założyć swój zespół, w którym będą razem tworzyć nowe rzeczy. Nie mówię tu o takich, co dopiero zaczynają przygodę z programowaniem, ale o takich, którzy np. zaczęli programować w liceum i dalej ich to kręci. Poprzez tworzenie nowych rzeczy człowiek się uczy, a co za tym idzie eliminuje błędy, które popełnił. Dojdzie do momentu, w którym zauważy, że "O, to można zrobić prościej" i to poprawi. Wiadomo, jak w team'ie jest jeden bardziej doświadczony człowiek, to jest prościej, ale tu chodzi o to, żeby samemu się rozwinąć. Książki, internet i wymiana wiedzy między sobą niesie więcej zalet, niż nie pisanie niczego tylko myślenie, że się umie.


Idiots, idiots everywhere.
edytowany 1x, ostatnio: allocer
Wibowit
  • Rejestracja:około 20 lat
  • Ostatnio:około 11 godzin
0

Tyle, że dla wielu prościej to znaczy: postawić static przed każdą metodą. Polecam zrobienie wstępnej wersji projektu, wrzucenie do sieci i wystawienie do oceny np na forum 4p :]


"Programs must be written for people to read, and only incidentally for machines to execute." - Abelson & Sussman, SICP, preface to the first edition
"Ci, co najbardziej pragną planować życie społeczne, gdyby im na to pozwolić, staliby się w najwyższym stopniu niebezpieczni i nietolerancyjni wobec planów życiowych innych ludzi. Często, tchnącego dobrocią i oddanego jakiejś sprawie idealistę, dzieli od fanatyka tylko mały krok."
Demokracja jest fajna, dopóki wygrywa twoja ulubiona partia.
szypxx
Chyba nie miałeś mnie na myśli? :] o tym static
Wibowit
Żebym to ja pamiętał.. W każdym razie słyszałem o takim przypadku u mnie na roku na studiach.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.