Gdzie jest najlepsze miejsce do nauki języka?


13

W ogóle nie znam języków programowania. Będę sam się uczyć i muszę znać najlepsze miejsce, w którym mogę się uczyć z najbardziej podstawowego poziomu. Gdzie jest świetne miejsce do nauki języka? Jakiego języka najlepiej się uczyć jako pierwszy? Czy głupio jest uczyć się najpierw Ruby?

Tutaj spotkałem kogoś mówiącego, że nauka niektórych wyższych języków może sprawić, że poczujesz się leniwy, jeśli nauczysz się ich najpierw. Jak między innymi Ruby.

Jeśli chodzi o mój pierwszy język, mój mąż doradza mi, abym uczył się języka Ruby (dla własnych zainteresowań). Potrzebuję jednak niezależnej porady, jak zacząć i jakiego języka powinienem się najpierw nauczyć. W końcu nauczę się Ruby, a potem Railsów.

Cztery miesiące temu mój mąż zamówił tekst celu C, ponieważ myślał, że go przyjmie. Przewróciłem się i wyraźnie zaczynałem od miejsca bardziej zaawansowanego niż skąd pochodzę.

Zajęłam się tutorialem Ruby i nie rozumiem tego. Dostaję to, co wkładam, ale nie rozumiem, co do tego prowadzi. Najpierw muszę znać WSZYSTKIE zasady. Następnie przeszukałem języki komputerowe i zacząłem szukać kodu binarnego, co bardzo pomogło, ale nie od tego, gdzie chciałbym zacząć. Nie mam teraz dużo czasu w życiu (z czwórką dzieci), żeby wrócić tak daleko. Gdybym chodził do szkoły, byłoby inaczej.

Wszelkie porady, które możesz udzielić, są bardzo mile widziane.


Muszę zapytać, jak znalazłeś tę stronę, jeśli nie znasz języków i zakładam, że nigdy nie odwiedziłem Stackoverflow? Ponadto, nie zawracaj sobie głowy nauką kodu binarnego na początku (lub kiedykolwiek, heh).

@Sergio: Hubby prawdopodobnie polecił OP tu przyjechać (ponieważ wygląda na to, że już zna Ruby). A kod binarny jest dobry podczas nauki montażu (coś, co myślę, że każdy, kto poważnie myśli o programowaniu, powinien to zrobić, ale może nie na początku, jeśli jest samoukiem).
FrustratedWithFormsDesigner

@Frust: Nie wyobrażam sobie kogoś, kto dopiero zaczyna naukę montażu.

2
Z którym tutorialem Ruby pracowałeś? Podobało mi się Dlaczego Poignant Guide to Ruby. mislav.uniqpath.com/poignant-guide
FrustratedWithFormsDesigner

1
@Sergio: Och, sam znalazłem stronę, kiedy szukałem: jaki jest najlepszy sposób na naukę języka. Mój mąż zna tylko HTML i cokolwiek jeszcze potrzebuje w swojej pracy ... szybkość? Jest menedżerem produktu w firmie programistycznej, a nie programistą. Nie ma cierpliwości (ale jest kochany). Chciałem spojrzeć na kod binarny, ponieważ musiałem wiedzieć, co się dzieje z językami? Jakie języki budują inne języki itd. Jak komputer „rozumie” to był inny. Nie mógł odpowiedzieć na moje pytania.
lorindaapps

Odpowiedzi:


2

Ruby nie zawiedzie Cię na dłuższą metę. Tak trzymać! Nie poddawaj się!

Jeśli chcesz zabawnego wprowadzenia, wypróbuj Hackety Hack . To również przez szanowanego, dlaczego szczęśliwy sztywniak - ten sam facet, który przyniósł ci tryruby i Dlaczego (przejmujący) Przewodnik po Ruby . On również tajemniczo zniknął z Internetu w sierpniu 2009 roku , ale dygresuję.

Hackety Hack zakłada brak doświadczenia w programowaniu. To świetna zabawa jak siatka na motyle. Spróbuj. Aha, i nie martw się tak bardzo o to, co naprawdę dzieje się w 00000 i 1111111. To ważne, ale najpierw chcesz przyzwyczaić się do mówienia komputerowi, co ma robić. Rozbijaj go bez obawy, dlaczego słucha. Pomyśl o wszystkich innych rzeczach, których używasz, ale nie do końca wiesz, jak działają - toster , żywność modyfikowana genetycznie i chemikalia zmieniające nastrój.


Interesujące ... Binarne rzeczy, które czytałem, to także strona wykonana w 2009 roku od niego. Hmmmm Hmmm. Dzięki za odpowiedź ... wszyscy byli tak hojni z informacjami. Mój mąż chichocze, odkąd powiedziałem mu, jaką stronę znalazłem. Był pod wrażeniem wspaniałych odpowiedzi! Ponieważ mam takie zielone pytania, łatwo można mnie było odrzucić. Tak się cieszę ... to musi być świetna społeczność!
lorindaapps

6

http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-00-introduction-to-computer-science-and-programming-fall-2008/

Możesz obejrzeć wprowadzenie MIT do kursu informatyki. Używają pytona, a podręcznik jest nawet dostępny za darmo.

http://see.stanford.edu/see/courseinfo.aspx?coll=824a47e1-135f-4508-a5aa-866adcae1111

Możesz także obejrzeć wstęp Stanforda. kierunek. Używają Java.

http://www.youtube.com/watch?v=zmYqShvVDh4

Na koniec możesz także obejrzeć kurs wprowadzający Cal-Berkely. Myślę, że używają Scheme lub innego dialektu Lisp.


2

Dlaczego chcesz uczyć się języków programowania? Każdy z nich ma inny cel, a niektóre lepiej nauczają pewnych pojęć niż inne. Czy chcesz opracować oprogramowanie lub poznać bardziej teoretyczną stronę informatyki? Jest duża różnica, a którą wybierzesz, wpływa na to, jak powinieneś postępować.

Wygląda na to, że łatwo zrozumiałeś nijakie pojęcia, więc C może być dobrym wprowadzającym językiem proceduralnym; jest to jeden z pierwszych, których się nauczyłem, chociaż nie ma dziś znaczenia w sensie praktycznym. C for Dummies książek miałem były dobre w nauczaniu języka od bardzo, bardzo podstawowym poziomie. Jeśli chodzi o coś bardziej praktycznego, Python jest prawdopodobnie dobrym wyborem.

Aby uzyskać więcej informacji teoretycznych, może spróbuj nauczyć się Lisp ze strukturą i interpretacją programów komputerowych . Prawdopodobnie jest to jednak trudniejsze do uchwycenia.


Dobrze. Zdecydowanie chcę tworzyć oprogramowanie i jeśli mi się spodoba, myślę, że w przyszłości byłbym zainteresowany jego teoretyczną stroną.
lorindaapps

2

Sugestie oparte na pytaniu i wielu komentarzach:

  • Chęć dokładnego zrozumienia tego, co dzieje się głęboko w maszynie, jest silna, szczególnie u ciekawskich programistów. Ostrzegam was, abyście na razie powstrzymali tę potrzebę. Jeśli tego nie zrobisz, bardziej prawdopodobne jest, że staniesz się sfrustrowany i odrzucisz całą sprawę na bok. Jeśli programowanie jest dla Ciebie, napotkasz wiele, wiele narzędzi, które ukrywają przed tobą szczegóły. Jest to właściwie uważane za dobrą rzecz - pozwala skupić się na swoim problemie bez zbytniego zastanawiania się, co kryje się za zasłoną. Nie trać tej ciekawości. Po prostu schowaj to na razie bezpiecznie.
  • Jeśli nie możesz przestać myśleć o szczegółach, rozważ zakup książki takiej jak The Elements of Computing Systems: Building a Modern Computer from First Principles . Przeprowadzi Cię przez proces budowy własnego (symulowanego) komputera. Zaczyna się od absolutnych podstaw (bramek logicznych) i buduje, buduje i buduje, aż do uzyskania pełnego komputera ze sprzętem i oprogramowaniem. Gdy skończysz, będziesz mieć praktyczne doświadczenie z pamięcią, procesorami modelującymi, systemami operacyjnymi, maszynami wirtualnymi, a nawet parsowaniem kodu. Przeczytaj recenzje. Ta książka jest niesamowita.
  • Z komentarzy na temat tryruby.org wynika, że ​​możesz wywierać na siebie zbyt dużą presję. Może się wydawać, że musisz zapamiętać, ale nie o to chodzi. Autorzy przedstawiają koncepcje. Chcą, abyś poczuł język (i to mu się podoba). Przechodząc z wersji demonstracyjnej do demonstracyjnej, nie oczekują, że opanowałeś to, co było wcześniej. Będziesz miał dużo czasu, aby sprawdzić, kiedy jest to potrzebne (robiłem to od dłuższego czasu i wciąż szukam rzeczy codziennie).
  • Jeśli masz konkretny cel programowy, koniecznie udostępnij go. Na przykład, jeśli Twoim celem jest aplikacja internetowa, istnieją narzędzia, które ułatwiają aplikacje internetowe i narzędzia, które nie. Uruchamianie aplikacji internetowej od zera za pomocą C przypomina trochę budowanie tabeli przez ścinanie drzew.
  • Na koniec pamiętaj, że nauka programowania wymaga czasu. Wiele osób, które przyczyniły się do powstania tej witryny, poświęciło dziesiątki tysięcy godzin na naukę programowania. Nie zawsze jest to łatwe. W rzeczywistości czasami śmierdzi. Mimo to eksperci tutaj zaczynali dokładnie tak jak ty. Nie wiedzieli pierwszej rzeczy o programowaniu. Utknęli z tym i stali się silnymi programistami i Ty też możesz.

Dzięki! Podobała mi się ta książka (cóż, po prostu ją przeglądałem). Myślę, że przyda się, gdy będę miał ochotę dowiedzieć się czegoś głębszego. Zgadzam się z „ukrywaniem” szczegółów, aby być dobrą rzeczą.
lorindaapps

2

Zakładam, że wiesz, jak programować, a nie mówimy o pierwszym języku, którego nauczysz się w swoim życiu.

W takim przypadku najlepszym sposobem na naukę nowego języka jest zorganizowanie koncertu, w którym musisz go użyć. Na serio.

OK, możesz najpierw spróbować przeczytać książkę o języku, ale jeśli nie masz prawdziwego problemu do rozwiązania, utkniesz w martwym punkcie. Bez prawdziwych problemów będziesz wykonywać tylko programy „do odrabiania lekcji”, które działają tylko z niewielką ilością danych lub kilkoma osobami, które z nich korzystają.

Najlepszym sposobem nauki języka jest programowanie, popełnianie błędów i zdawanie sobie sprawy z tego, co poszło nie tak.


1

Zacznij od środowiska zaprojektowanego dla edukacji i umiejętności obsługi komputera. Większość książek komputerowych nie jest.

Przejdź do lokalnej biblioteki i spójrz na książki „manekiny”, książki „idioci”, a nawet coś starego z dziecięcej części biblioteki na Basic lub Logo. Istnieją również strony internetowe z materiałami edukacyjnymi dla dzieci w językach programowania Squeak i Alice.

Wybierz książkę (lub cokolwiek), która wydaje się najłatwiejsza i najfajniejsza, niezależnie od języka programowania. Gdy podstawowa idea programowania kliknięć, możesz przejść do książek na temat bardziej popularnych lub przydatnych języków, a wtedy będą wydawać się o wiele łatwiejsze.


Jeśli nie chcesz zostać „leniwym” programistą, musisz znaleźć materiały edukacyjne na temat języka asemblera. Edmund Scientific nadal sprzedaje do tego celu tekturowy komputer „Cardiac”. (Użyli tego w CS na kursach bez specjalizacji na UCBerkeley kilka dekad temu.)
hotpaw2

1

Zrozumiałem, że Python jest dobrym wyborem dla pierwszego języka programowania.

Pierwszy język jest ważny, ponieważ kształtuje mózg na potrzeby uczenia się później. W razie potrzeby zawsze możesz nauczyć się więcej języków, ale pierwszy z nich jest tutaj kluczowy. Zgromadzenie na przykład jest ważne z tych samych powodów, dla których pisanie haiku jest ważne dla autorów.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.