Pull to refresh

Comments 21

хорошо было начинать с 5..7 TurboPascal, сейчас они уже не актуальны :(
хотя в целом согласен паскакаль чуток дисциплинирует :)
Да, поскаль... сам с него начинал:) Но, если честно, он мне не много дал. Всё равно, когда перешёл на си, уже кое-что с паскаля забылось, кое-что пришлось переучивать.
Посоветуйте учебник по рельсам, которым вы пользовались?
http://ru.wikibooks.org/wiki/Ruby
Хорошие книжки-pdf бродят по сети, исчи:
Programming.Ruby.2nd.Ed.2005.pdf
PragmaticBookshelfEnterpriseIntegrationwithRubyApr2006.pdf
Agile Web Development with Rails v.2b.pdf
Pragmatic.Bookshelf.Rails.Recipes.Jun.2006.pdf
...
я использовал http://wiki.rubyonrails.org/rails/pages/Tutorial и http://wiki.rubyonrails.org/rails/pages/Howtos. Сейчас в основном использую последнюю и http://rails.rubyonrails.com/
UFO landed and left these words here
кстати, заказал себе "Agile Web Development with Rails". Правда будет только в сентябре... ждать долго...
По п.2
Я не такой опытный программист, но имею небольшой опыт преподавания детям Python и Delphi(паскалю их к сожалению учил другой учитель и делал это, по моему мнению, никак)
так вот с задачей воспитания алгоритмического мышления и понимания ООП Python справляется гораздо лучше, там нет лишнего...
Самое главное отличие Ruby от Python - блоки, мне они очень понравились, но детям действительно понять их будет сложно...
А Си, если преподавать хороший стиль программирования, вы их просто не заинтересуете, т.к. весь год уйдет на объяснение того как выделять и освобождать память, ну не нужно детям этого!
Основы Асемблера наоборот рассказать можно былобы, показав, что любая супер-пупер команда языка высокого уровня состоит из приметивных перемещений данных из памяти в регистры и выполнения с ними арифметических действий... не забыв о железной основе этих процессов - тригерах... можно немножко теорию автоматов затронуть... но это все если хотите профессионала сделать... а так, мое мнение, Python в качестве первого, а для кого-то и последнего языка самое то.
Кстати, язык который должен изучить любой программист - английский.
Программист не только должен "изучить" английский, он просто _обязан_ на нем общаться свободно, и без всяких отмазок "свободный английский со словарем". Извините, но и я на хинди могу со словарем.

Во-первых, чтобы понимать вообще что ты пишеш. Все конструкции большинства языков на английском. И если человек не знает, что значит слово "yield", а увидев слово "render" думает о третьем Шреке, то его можно[нужно] смело гнать.

Во-вторых, поддержка мирового программисткого сообщества. В тех же rubyonrails-talk все общаются на английском, и там можно получить качественную помощь в считанные минуты.
От себя добавлю, что интерактивный интерпретатор, который есть у Python (у руби тоже есть) для обучения - это просто сказка! По-моему Python для детей будет учить намного веселее паскаля или бейсика. Ещё нужно учесть, что для него есть библиотеки, которые могут здорово помочь при обучении в ВУЗе
А Си, если преподавать хороший стиль программирования, вы их просто не заинтересуете, т.к. весь год уйдет на объяснение того как выделять и освобождать память, ну не нужно детям этого!

СМотрите в сторону Java:)
Ну PHP тоже есть типизация. Каждая переменная имеет тип, просто cast-ы проходят автоматически, объявление типа тоже происходит автоматически с присваиванием. В силу скрытия типизации, мало кто на нее внимание обращает, а зря. Кстати в 6-й версии появятся и типизированные функции.
Еще по второму пункту: я тоже считаю, что PHP для начала будет неудобно изучать. Вы должны привить объектно-ориентированное мышление у обучающего, что к сожалению в PHP не получится.

Я считаю, что нужно начинать со строго типизированного, полностью объектно-ориентированного языка: идеально Java, на крайний случай что-то из семейства .net, с# например.
UFO landed and left these words here
По пункту 2 — надо начинать со схемы и постепенно переходить на хаскель. :-) Схему детям понять просто (посмотрите на "The little schemer"), хорошие практики ФП она привьет, а так же отучит от стандартного императивно-оопшного взгляда на мир.

А уж как изучишь хаскель — сразу руби и прочие там питоны становятся ерундой :-)

Если очень хочется ооп — советую Squeak. ООП там чистейшее, без костылей — и специальная среда для детей есть, с виду как лого. На этой же самой среде сделаны некоторые весьма мощные веб-приложения (Seaside)

Яву и пхп детям не давать ни в коем случае!
Яву почему? Она рекомендована для академических целей. И действительно учится на ней легче и приятней, чем на Basic-е и Pascal-е. И еще, время будет потрачено не зря. Если Java понравится человеку он смело может заниматься ей и в дальнейшем, и легко найдет работу (это главное) или применение своим знаниям.

Если человек посвятит обучение таким вещам, как Squeak, хаскели и прочая ерунда, с которыми по сравнению с Java вообще не нужно считаться ( по степени проникновения в коммерческую разработку), то потом ему нужно все равно что-то доучивать скорее всего ибо широты вакансий по этим вещам нет.
Если человек будет заниматься "прочей ерундой", он получит несоизмеримый багаж знаний и свободный от предрассудков взгляд на мир программирования. Человек, знакомый со схемой / смоллтолком / хаскелем, например, элементарно сможет писать на яве, с++, python, ruby и т.д. — для него это будет практически один язык. А вот обратное неверно. Впрочем, я могу быть не прав насчет обучения детей, я основываюсь не на собственном опыте ;-)
Будте уверены в Java столько фраймворков, подходов и т.д., что терять время на обучение смоллтолком и т.д. нет смысла. Если к этому еще прибавить UML и т.д., то я лично не вижу смысл терять время на другие языки, тем более, что вы сказали, что Java обучающемуся вообще давать нельзя ни в коем случае, это заявление как минимум ошибочное.
Все эти подходы (и много других) в их первозданном виде есть в смоллтолке. Фреймворки — а зачем их учить при обучении программированию? Фреймворк это всего лишь библиотеки. Намного полезнее знать, что существует иное программирование — тогда все эти безумные фреймворки будут не самоцелью, а всего лишь полезным в некоторых случаях инструментом. И осваиваться они будут легче.

Яву, признаю, может и не так страшно давать — но давать такое ооп в качестве единственного программирования мягко говоря некорректно.
Sign up to leave a comment.

Articles