Где лучшее место для изучения языка, и какой?


13

Я вообще не знаю языков программирования. Я буду самообучаться, и мне нужно знать, где лучше всего делать это, где я могу учиться на самом базовом уровне. Где отличное место, чтобы начать изучать язык? Какой язык лучше всего изучать первым? Глупо сначала изучать Ruby?

Здесь я встретил человека, который сказал, что изучение некоторых из высших языков может сделать вас «ленивым», если вы изучите их в первую очередь. Как и Руби среди других.

Что касается моего первого языка, мой муж советует мне изучать Ruby (для его личных интересов). Тем не менее, мне нужен независимый совет о том, как начать и какой язык я должен выучить в первую очередь. В конце концов я изучу Ruby, а затем Rails.

Четыре месяца назад мой муж заказал текст цели С, потому что думал, что возьмет его на себя. Я пролистал, и это явно начиналось в более продвинутом месте, чем откуда я иду.

Я баловался с учебником по Ruby, и я не понимаю его. Я получаю то, что вкладываю, то, что получаю, но я не понимаю, что к этому ведет. Сначала мне нужно знать ВСЕ правила. Затем я посмотрел на компьютерные языки и стал изучать двоичный код, который мне очень помог, но не там, где я хочу начать. У меня не так много времени в моей жизни (с четырьмя детьми), чтобы вернуться так далеко. Если бы я шел в школу, это было бы иначе.

Любой совет, который вы можете дать, приветствуется.


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

@ Серджио: Хабби, вероятно, рекомендовал OP приехать сюда (поскольку, похоже, он уже знает Ruby). И бинарный код хорош при изучении ассемблера (что, я думаю, должен делать каждый, кто серьезно относится к программированию, но, возможно, не в самом начале, если они самоучки).
FrustratedWithFormsDesigner

@Frust: я не представляю кого-то, кто только начинает изучать сборку.

2
С каким учебником по Ruby вы работали? Мне понравилось, почему острый путеводитель по Ruby. mislav.uniqpath.com/poignant-guide
FrustratedWithFormsDesigner

1
@ Серджио: О, я сам нашел этот сайт, когда искал: как лучше всего выучить язык. Мой муж знает только передний конец 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

Наконец, вы также можете посмотреть вступительный курс Cal-Berkely. Я считаю, что они используют Scheme или какой-то другой диалект Lisp.


2

Почему вы хотите изучать языки программирования? У каждого своя цель, и некоторые лучше обучают определенным понятиям, чем другие. Вы хотите разработать программное обеспечение или узнать о более теоретической стороне информатики? Есть большая разница, и то, что вы выбираете, влияет на то, как вы должны поступить.

Похоже, вы легко поняли низменные понятия, поэтому может оказаться, что C - хороший вводный процедурный язык; это один из первых, которые я узнал, хотя сегодня это не актуально в практическом смысле. C для чайников книг , которые я имел , были хорошо на обучение языку с очень, очень элементарного уровня. Для чего-то более практичного Python, вероятно, является хорошим выбором.

Для более теоретических вещей, возможно, попробуйте изучить Lisp со структурой и интерпретацией компьютерных программ . Хотя, вероятно, это немного сложнее понять.


Правильно. Я определенно хочу выпускать программное обеспечение, и если оно мне понравится, думаю, в будущем меня заинтересует теоретическая сторона этого.
Lorindaapps

2

Предложения основаны на вопрос и много комментариев:

  • Желание точно знать, что происходит глубоко в машине, сильно, особенно у любопытных разработчиков. Я хотел бы предупредить вас, чтобы подавить это желание на данный момент. Если вы этого не сделаете, более вероятно, что вы расстроитесь и отбросите все это в сторону. Если программирование для вас, вы столкнетесь с множеством инструментов, которые скрывают от вас детали. На самом деле это считается хорошим делом - оно позволяет вам сосредоточиться на своей проблеме, не слишком задумываясь о том, что скрывается за занавесом. Не теряйте это любопытство. Просто убери это безопасно сейчас.
  • Если вы не можете удержаться от размышлений о деталях, подумайте о покупке такой книги, как «Элементы вычислительных систем: создание современного компьютера из первых принципов» . Он проведет вас через создание собственного (смоделированного) компьютера. Он начинается с абсолютных основ (логических элементов) и строит и строит, и собирает, пока у вас не будет полноценного компьютера с аппаратным и программным обеспечением. Когда вы закончите, у вас будет практический опыт работы с памятью, процессорами моделирования, операционными системами, виртуальными машинами и даже с анализом кода. Читайте отзывы. Эта книга удивительна.
  • Из ваших комментариев о tryruby.org кажется, что вы слишком сильно давите на себя. Может показаться, что вам нужно запомнить, но дело не в этом. Авторы вводят понятия. Они хотят, чтобы вы почувствовали язык (и он ему понравился). Когда они переходят от демонстрации к демонстрации, они не ожидают, что вы освоили то, что было раньше. У вас будет достаточно времени, чтобы разобраться, когда это необходимо (я занимался этим долгое время, и я до сих пор смотрю вещи каждый день).
  • Если у вас есть конкретная цель программного обеспечения, обязательно поделитесь ею. Например, если ваша цель - веб-приложение, есть инструменты, которые делают веб-приложения проще, а инструменты - нет. Запуск веб-приложения с нуля с C это немного похоже на начало построения таблицы путем вырубки деревьев.
  • Наконец, помните, что обучение программированию требует времени. Многие из участников этого сайта потратили десятки тысяч часов на обучение программированию. Это не всегда легко. На самом деле иногда воняет. Тем не менее, эксперты здесь начали так же, как вы. Они не знали в первую очередь о программировании. Они увязли в этом и стали сильными программистами, и вы тоже можете.

Благодарность! Мне понравилась эта книга (ну, просто пролистать ее). Я думаю, что это пригодится, когда у меня появится желание узнать что-то более глубокое. Я согласен с «сокрытием» деталей, чтобы быть хорошим.
Lorindaapps

2

Я предполагаю, что вы знаете, как программировать, и мы не говорим о первом языке, который вы выучите в своей жизни.

В этом случае лучший способ выучить новый язык - это выступить там, где вы должны его использовать. Серьезно.

Хорошо, вы можете сначала попытаться прочитать какую-нибудь книгу о языке, но если у вас нет реальной проблемы, которую вы хотите решить, вы остановитесь. Без реальных проблем вы будете выполнять только «домашние» программы, которые работают только с небольшим количеством данных или несколькими людьми, которые их используют.

Лучший способ выучить язык - это программировать, делать ошибки и понимать, что пошло не так.


1

Начните с среды, предназначенной для обучения и компьютерной грамотности. Большинство компьютерных книг нет.

Зайдите в местную библиотеку и посмотрите книги «чайников», книги «идиотов», даже что-то старое из детской секции библиотеки на Basic или Logo. Есть также сайты с учебными материалами для детей на языках программирования Squeak и Alice.

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


Если вы не хотите становиться «ленивым» программистом, вам нужно найти некоторые учебные материалы по языку ассемблера. Edmund Scientific фактически все еще продает картонный компьютер "Cardiac" для этой цели. (Они использовали это в курсе CS для не-майоров в UCBerkeley несколько десятилетий назад.)
hotpaw2

1

Я понял, что Python - хороший выбор для первого языка программирования.

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.