Де найкраще вчити себе мові, а яке?


13

Я взагалі не знаю жодної мови програмування. Я буду самостійно навчати себе і мені потрібно знати найкраще місце для цього, де я можу навчитися з самого базового рівня. Де чудове місце для початку вивчення мови? Яку мову найкраще вивчити спочатку? Нерозумно спочатку навчитися Рубі?

Тут я натрапив на когось, що сказав, що вивчення деяких вищих мов може зробити тебе «ледачим», якщо ти їх вивчиш спочатку. Як Рубі серед інших.

З моєї першої мови мій чоловік радить мені вивчити Рубі (для власних особистих інтересів). Однак мені потрібні кілька незалежних порад щодо того, як розпочати роботу та на якій мові я повинен навчитися спочатку. Зрештою я вивчу Рубі, а потім Рейлів.

Чотири місяці тому мій чоловік замовив текст об'єктиву C, оскільки думав, що він його візьме на себе. Я перевернув, і це було явно починається в місці, більш розвиненому, ніж звідки я родом.

Я роздумував з підручником Рубі, і я цього не розумію. Я отримую те, що я вкладаю, це те, що я отримую, але я не розумію, що до цього призводить. Мені потрібно спершу знати ВСІ правила. Потім я подивився на комп’ютерні мови та дивився на дослідження бінарного коду, який дуже допоміг, але не з того, де я хочу починати. Зараз у мене немає багато часу в житті (з чотирма дітьми), щоб повернутися так далеко. Якби я ходив до школи, це було б інакше.

Будь-яка порада, яку ви могли б дати, найкраще вітається


Я повинен запитати, як ти знайшов цей веб-сайт, якщо ти не знаєш мов, і я припускаю, що ніколи не відвідував Stackoverflow? Крім того, не турбуйтеся спочатку вивчати бінарний код (або коли-небудь, хе).

@Sergio: Хаббі, ймовірно, рекомендував OP приїхати сюди (оскільки це звучить так, як він уже знає Рубі). І двійковий код хороший, коли вивчає складання (щось, на мою думку, кожен, хто серйозно займається програмуванням, повинен робити, але, можливо, не правильно на початку, якщо вони навчаються самостійно).
FrustratedWithFormsDesigner

@Frust: Я не уявляю когось із тих, хто починає вивчати складання.

2
З яким уроком Ruby ви працювали? Мені сподобався Чутливий путівник по Рубі. mislav.uniqpath.com/poignant-guide
FrustratedWithFormsDesigner

1
@Sergio: О, я сам знайшов сайт, коли шукав: який найкращий спосіб вивчити мову. Мій чоловік знає лише html-код переднього кінця і все, що йому потрібно для його роботи ... швидкість? Він менеджер продукту для програмної компанії, а не програміст. Він не має терпіння (але його люблять). Я хотів подивитися на двійковий код, тому що мені потрібно було знати, що відбувається в день з мовами? На яких мовах будуються інші мови тощо. Як комп’ютер "дістає його" був іншим. Він не міг відповісти на мої запитання.
lorindaapps

Відповіді:


2

Рубі не підведе вас у довгостроковій перспективі. Тримайте це! Не здавайся!

Якщо ви хочете веселого вступу, спробуйте Hackety Hack . Це також на увазі, чому щасливий жорсткий - той самий хлопець, який приніс вам трюбі, і Чому (гострий) Керівництво Рубі . Він також загадково зник з Інтернету в серпні 2009 року , але я відхиляюся.

Hackety Hack не передбачає досвіду програмування. Це так само весело, як сітка метеликів. Спробувати. О, і не хвилюйся стільки про те, що насправді відбувається в 00000 і 1111111. Це важливо, але спершу ви хочете звикнути говорити комп’ютеру, що робити. Обміняйте це, не переживаючи, чому він слухає. Подумайте про всі інші речі, які ви використовуєте, але не зовсім зрозуміло, як вони працюють - тостер , генетично модифікована їжа та хімікати, що змінюють настрій.


Цікаве ... Бінарні речі, які я читав, - це сайт, зроблений у 2009 році також від нього. Гмммм. Хммм. Дякую за відповідь ... всі були настільки щедрі на інформацію. Мій чоловік хихикає відтоді, як я розповів йому, який сайт знайшов. Він був вражений чудовими відповідями! Оскільки у мене є такі зелені запитання, я міг легко бути вбитим. Так приємно ... це, мабуть, чудова громада!
lorindaapps

6

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

Ви можете подивитися вступ MIT до курсу інформатики. Вони використовують python, а підручник навіть доступний безкоштовно.

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

Ви також можете подивитися вступ Стенфорда. звичайно. Вони використовують Java.

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

І нарешті, ви також можете ознайомитись із вступним курсом Кал-Берклі. Я вважаю, що вони використовують схему чи інший діалект Ліса.


2

Чому ви хочете вивчати мови програмування? Кожен має іншу мету, а деякі краще навчають певних понять, ніж інші. Ви хочете розробити програмне забезпечення чи дізнатися про більш теоретичну сторону інформатики? Існує велика різниця, і те, що ви обираєте, впливає на те, як вам слід йти.

Здається, що ви легко зрозуміли низькорослі поняття, тому може бути так, що C - це добра вступна процедурна мова; це одна з перших, яку я дізнався, хоча сьогодні це не актуально в практичному розумінні. Книги « C for Dummies», які я мав, добре навчали мову з дуже-дуже базового рівня. Щось більш практичне, Python - це, мабуть, хороший вибір.

Для отримання більш теоретичних речей, можливо, спробуйте вивчити Lisp зі структурою та інтерпретацією комп’ютерних програм . Це, мабуть, трохи важче зрозуміти.


Правильно. Я, безумовно, хочу виробляти програмне забезпечення, і якщо мені це подобається, я думаю, що в майбутньому я був би зацікавлений у теоретичній його стороні.
lorindaapps

2

Пропозиції на основі запитання та багатьох коментарів:

  • Потяг точно знати, що відбувається глибоко в машині, сильний, особливо у допитливих розробників. Я б застеріг вас, щоб зараз придушити цю позиву. Якщо цього не зробити, швидше за все, ви розчаруєтесь і відкинете все це вбік. Якщо програмування призначене для вас, ви збираєтеся застосувати багато, багато інструментів, які приховують від вас деталі. Це насправді вважається хорошою справою - це дозволить вам зосередитись на своїй проблемі, не надто замислюючись про те, що за завісою. Не втрачайте цікавості. Просто покиньте його безпечно.
  • Якщо ви не можете зупинити себе на думці про деталі, подумайте про придбання книги на кшталт «Елементи обчислювальних систем: побудова сучасного комп’ютера за першими принципами» . Це допоможе вам створити власний (модельований) комп’ютер. Він починається з абсолютних основ (логічних воріт) і будує і будує і будує, поки у вас не буде повного комп'ютера з апаратним та програмним забезпеченням. Коли ви закінчите, ви матимете практичний досвід роботи з пам'яттю, моделюючими процесорами, операційними системами, віртуальними машинами і навіть розбираючи код. Прочитайте відгуки. Ця книга дивовижна.
  • З ваших коментарів про tryruby.org, здається, ви, можливо, чинять надто великий тиск на себе. Може здатися, що вам потрібно запам’ятати, але це не в тому. Автори вводять поняття. Вони хочуть, щоб ви відчули мову (і це подобається). Переходячи від демо до демо, вони не сподіваються, що ви освоїли те, що було раніше. У вас буде достатньо часу, щоб розібрати речі, коли це потрібно (я займаюся цим уже давно, і все ще переглядаю речі щодня).
  • Якщо у вас є певна мета програмного забезпечення, не забудьте поділитися нею. Наприклад, якщо ваша мета - веб-додаток, є інструменти, які спрощують веб-додатки, та засоби, які цього не роблять. Починати веб-додаток з нуля з C - це трохи схоже на початок створення таблиці, вирубуючи дерева.
  • Нарешті, пам’ятайте, що навчання програмуванню потребує часу. Багато людей, що беруть участь у цьому веб-сайті, витратили десятки тисяч годин, навчаючись програмувати. Це не завжди просто. Насправді іноді смердить. Все-таки експерти тут почали саме так, як ви. Вони не знали найперше про програмування. Вони затрималися з цим і стали сильними програмістами, і ви теж можете.

Спасибі! Мені сподобалась ця книга (ну просто перегортаючи її). Я думаю, це стане в нагоді, коли у мене виникне заклик знати щось глибше. Я погоджуюся з тим, що «приховувати» деталі, щоб це було добре.
lorindaapps

2

Я припускаю, що ви вмієте програмувати, і ми не говоримо про першу мову, яку ви вивчите у своєму житті.

У цьому випадку найкращим способом вивчення нової мови є отримання концерту там, де вам доведеться нею користуватися. Насправді.

Гаразд, ви можете спробувати спочатку прочитати якусь книгу про мову, але якщо ви не маєте справжньої проблеми вирішити, ви затримаєтесь. Без реальних проблем ви будете робити лише програми "домашнього завдання", які працюють лише з малою кількістю даних або мало хто використовує їх.

Найкращий спосіб вивчити мову - це програмування, помилки та усвідомлення того, що пішло не так.


1

Почніть із середовища, призначеного для навчання та комп’ютерної грамотності. Більшість комп'ютерних книг не є.

Заходьте до місцевої бібліотеки і подивіться книги "муляжів", книги "ідіоти", навіть щось старе з дитячого відділу бібліотеки на Базовому або Логотипі. Також є веб-сайти з навчальними матеріалами для дітей на мовах програмування Squeak та Alice.

Виберіть книгу (чи будь-яку іншу), яка здається найлегшою і найцікавішою, незалежно від мови програмування. Коли основна ідея програмування клацає, то ви можете перейти до книг на більш популярних або корисних мовах, і тоді вони здадуться набагато простішими.


Якщо ви не хочете стати "ледачим" програмістом, вам потрібно знайти кілька навчальних матеріалів з мови асемблерів. Едмунд Науковий насправді досі продає для цього картонний комп'ютер "Кардіант". (Вони використовували це в КС для курсу, який не має спеціальності в UCBerkeley кілька десятиліть тому.)
hotpaw2,

1

Я зрозумів, що Python - хороший вибір для першої мови програмування.

Перша мова важлива, оскільки формує ваш мозок для того, щоб пізнати пізніше. Ви завжди можете пізнати більше мов пізніше, якщо вам потрібно, але перша тут є вирішальною. Наприклад, збірка важлива з тих же причин, що і написання хайку важливо для авторів.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.