LINUX.ORG.RU

Ответ на: комментарий от netcat

Сам тогда напиши годную методичку по языку, который будете изучать.

PolarFox ★★★★★
()
Ответ на: комментарий от PolarFox

Рулил бы, но он столь же узкоспециализированный, как awk или owl.

quantum-troll ★★★★★
()

Tcl/Tk однозначно.

Я просто решил запилить у себя в школе факультатив по программированию. Нужна образовательная программа. Вот и ищу.

Tcl/Tk однозначно.

tck/tk-lor-faq: tcl/tk-lor-faq

На вики: http://ru.wikipedia.org/wiki/Tcl

Лучшая книга о Tcl/Tk на русском: http://www.infanata.com/computers/prog/1146115170-prakticheskoe-programmirova...

Сборки Tcl/Tk+расширения в виде одного файла под каждую платформу: http://www.evolane.com/software/etcl/

Немного информации о Tcl/Tk на русском: http://www.etcl.ru/node?page=6

P.S. Tcl - хороший язык язык программирования, Tk - позволяет в короткие сроки писать программы с GUI.

anonymous
()

Возьмите таки K&R, ничего лучшего по С я не увидел. Изучать плюсы не зная С имхо неправильно.

Gunnerua
()
Ответ на: комментарий от netcat

Учить школьников лиспу? Вы таки шутите.

Мельчают ныне школьники?

Я таки учил его еще будучи школьником. Только немного жаль, что тогда на БК-0010 не было лисп-машины. Хотя есть и плюсы: более развитое воображение.

dave ★★★★★
()
Ответ на: комментарий от mkam

Кочан С. Программирование на языке Си.

Нигде не могу скачать кстати, везде требуют смс (разводят в общем). Не подскажите где скачать нормально?

mul4 ★★★★★
()
Ответ на: Tcl/Tk однозначно. от anonymous

http://www.evolane.com/software/etcl/

Кстати, если сомневаешься, то возьми http://www.evolane.com/download/etcl/linux/etcl-1.0.1-linux-x86.tar.gz вытащи оттуда бинарник etcl (bin/), collapse.tcl (demos/) и запусти:

$ ./etcl ./collapse.tcl

Если и это неубедительно, тогда возьми бинарник etcl и hv3-20090604.etk ( http://www.evolane.com/download/etcl/noarch/hv3-20090604.etk ) и запусти:

$ ./etcl ./hv3-20090604.etk http://www.linux.org.ru

P.S. Файлы *.etk - это .zip-архивы с файлами .tcl, т.е. всегда можно посмотреть как оно работает.

anonymous
()
Ответ на: комментарий от netcat

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

Ну-ну... сам то что знаешь? :) Программист сам обучится тому чему ему нужно и сам может найти нужную ему информацию в сети. 21 век на дворе...

anonymous_
()
Ответ на: комментарий от mul4

У меня она в бумаге. По идее смогу её отсканировать в течение следующей недели если поиски за выходные успехом не увенчаются.

mkam
()
Ответ на: комментарий от anonymous_

Программист сам обучится тому чему ему нужно и сам может найти нужную ему информацию в сети. 21 век на дворе...

Таки поспорю: без знания «что искать» нифига наш сферический программист не найдёт. Даже если носом будет тыкаться в хорошую нужную вещь — не найдёт. Общие знания об инструментарии и истории современных техник программирования необходимы. Навыки постановка задачи необходимы. Требования к ограничениям по функционалу, ресурсам и используемым инструментам необходимы. Обучение необходимо... Это если мы хотим получить хорошего программиста.

:-)

anonymous
()
Ответ на: комментарий от anonymous

Это если мы хотим получить хорошего программиста.

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

anonymous_
()
Ответ на: комментарий от netcat

В K&R сразу с HelloWorld.c начинается, это хорошо. Но подходит ли она для тех, кто даже про васик не слышал?

Подходит. ИМХО.

ymuv ★★★★
()
Ответ на: комментарий от netcat

Молодец... языки - это только инструмент. Синтаксис знать - мало для того чтобы кого-то чему-то учить.

anonymous_
()
Ответ на: комментарий от anonymous_

И ничего у тебя не выйдет...Доказано практикой.

гы, тогда почему корпорациям нужны обученные специалисты?

Большинство успешных программистов - самоучки.

У тебя странная статистика. Успешный программист обязан уметь самообучаться. Но навыку самообучаться нужно учить. Такие дела...

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

Это смотря кого и чему учить. Будешь учить на кодера - будет клепать классы по шаблону. Будешь учить программированию - будет уметь сам находить решения и инструмент. Ждать, что кто-то сам полезет без мотивации изучать, к примеру, численные методы или изморфизмы - верх маразма. Откуда он будет знать, что это уже есть и решено? Уметь думать тоже нужно учить. Ещё нужно учить соблюдать постановку задачи и сроки исполнения.

anonymous
()
Ответ на: комментарий от anonymous

гы, тогда почему корпорациям нужны обученные специалисты?

Им нужны заменяемые специалисты на большинство должностей. Но есть также отделы где нужны спецы и там уже опыт играет роль а не корочко.

Но навыку самообучаться нужно учить.

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

Откуда он будет знать, что это уже есть и решено? Уметь думать тоже нужно учить.

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

anonymous_
()
Ответ на: комментарий от anonymous_

Им нужны заменяемые специалисты на большинство должностей.

Заметь, специалист - означает обученный, т.е. имеющий базовый набор знаний.

Но есть также отделы где нужны спецы и там уже опыт играет роль а не корочко.

Странный ты... Какой может быть опыт у самоучки? Потенциал обучаемости ещё может быть, а опыт откуда?

И при чём тут корочки? Корочки о том, что прослушан некоторый набор знаний? Ну дают они надежду, что ориентируется владелец корочки в этом некотором базовом наборе знаний. А какой набор знаний он получил по факту — ещё тот вопрос...

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

Они дают знания о знаниях.

Почему ты думаешь что всех нужно учить?

Потому, что всех нужно учить. Не может человек пока получать знания и специализацию из астрала. А ждать, что, к примеру, из конкретного человека повар сам получится, на собственном опыте пробуя все вещества на съедобность, а их сочетания на вкусность, — глупо.

По себе не стоит судить всех людей, многие достаточно легко самообучаются и находят нужную им информацию.

Так полагаю, из тебя теперь поперла вытесняющая самореклама. Нужны реальные специалисты, гарантированно решающие реальные проблемы. Надеяться на случайность можно, но не разумно. И не все легко самообучаются (например, из-за лени или упрямства), но могут, к примеру, с гарантированным результатом выполнять некоторую работу. А из-за последних веяний на тему SOPA и PIPA скоро найти знания в свободном доступе будет сложно.

Если людей постоянно чему-то учить они перестанут напрягаться, ибо им все на подносике приносят.

Тебе не повезло с обучением и лень тебя побеждает? Это личные проблемы мотивации. Не было бы таких проблем — давно бы уже коммунизм построили. :)

Те кто добывает информацию сам - обычно более внимателен к ней.

Если они знают цену этой информации. А как без предварительного обучения можно узнать цену чего бы то ни-было?

P.S. Давай угадаю: ты студент и ищешь работу? Парень, то что ты побеждал в counter strike не делает тебя хорошим солдатом.

anonymous
()

Требуется книга по C для людей, которые с программированием вообще не знакомы. Книга K&R, все-таки, для такой аудитории не рассчитана.

K&R и только K&R.

Она рассчитана на любую аудиторию. Главное, чтобы читающий её имел желание научиться программировать. Желательно (но не обязательно) иметь «под рукой» опытного программиста, который мог бы разъяснить непонятные моменты.

Лучше, чем K&R всё равно не найдёшь.

PS: Здесь советовали Дейтелов. Можно, конечно, попоробовать и с них начать, но, имхо, у Дейтелов есть свои недостатки (например, некоторые важные вещи они оставляют почти без внимания).

OldFatMan
()
Ответ на: комментарий от netcat

Те кто будут ходить на факультатив и знают это. Моя задача - дать основы.

А как ты будешь учить, когда не знаешь сам этих основ? Кнута не знаешь, паттернов тем более. Лучше сам учись.

anonymous
()
Ответ на: комментарий от ms-dos32

Вот в них и была проблема, после того, как VB их искривил :-)

Вот в них то и была проблема, до того как VB и другие языки это доказали (*fixed)

anonymous
()
Ответ на: комментарий от netcat

C/c++/python/ruby и чуток perl

C - не знаешь, так как считаешь, что в Си мало/нет совсем хаков;

С++ - не знаешь, так как считаешь в нем есть хорошая реализация ООП (она там есть, своя, но она далеко не хорошая), думаешь что оно относится к «низкоуровневому ООП» и считаешь, что С++ это Си с объектами (почитай «Дизайн и эволюция С++», будет много невероятных открытий).

Python - сомнительно. ФП явно не знаешь. Множественное наследование и его минусы не понимаешь. Писать кривущие однострочники - верю. Знать - навряд ли. Далее - знал бы его, обучал бы ему, а не Си. Гуй там есть. Тк-шный. Искаробки.

Ruby - не знаешь. Понимания ООП почти на уровне знания китайского языка, скорее всего где-то написал еще один крипущий однострочник или собрал по инструкции быдлосайтег на рельсах. Опять же - есть на виндах wx искаробки под виндами. Знал бы - учил бы на нем.

Perl - не шути. Человек не осиливший рубин и питон не может знать пёрла. Скорее всего на уровне «хамло-мир».

Иди работать техничкой и не насилуй мозги людям.

anonymous
()
Ответ на: комментарий от netcat

Да без разницы как изучать. Ну надиктует тебе препод лекцию с книги. И что тебе это даст? Херню городишь. Тут нужно желание учиться. И знание математики. Если этого нет - ничего не поможет. Вот у тебя его нет, поэтому в твоем мире и существует низкоуровневое ООП

anonymous
()
Ответ на: комментарий от netcat

Опытная команда телепатов знает все. Я не говорил, что в С++ хорошая реализация ООП.

Ты другой не знаешь, ну «Ок». Тогда в чем преимущество реализации ООП в Ruby перед С++? В чем разница в понимании данной парадигмы в разрезе Python? Почему Eiffel стоит особняком? Почему Smalltalk считается эталоном и называется «чистым»?

anonymous
()
Ответ на: комментарий от anonymous

Ух ты, я и сайты на рельсах собираю. Не знал. А про C вообще интересно говоришь. В любом языке есть хаки, где-то больше, где-то меньше. Смотря, что под этим подразумевать. Да и весь текст - одни сплошные догадки.

netcat ★★
() автор топика
Ответ на: комментарий от netcat

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

anonymous
()
Ответ на: комментарий от anonymous

ГОВОРЯ «НИЗКОУРОВНЕНВОЕ ООП», Я ХОТЕЛ СКАЗАТЬ «КОМБИНАЦИЯ НИЗКОУРОВНЕГО ЯЗЫКА С ООП». Я ЭТО СКАЗАЛ НЕСКОЛЬКО ПОСТОВ ВЫШЕ.

netcat ★★
() автор топика
Ответ на: комментарий от anonymous

проблема состоит не в выборе языка, а в выборе направления: «от низкого уровня до высокого» или наоборот. а может, вообще не так?

netcat ★★
() автор топика
Ответ на: комментарий от netcat

К тому же кресты активно используются и знать их надо.

netcat ★★
() автор топика
Ответ на: комментарий от ms-dos32

Тебе что, все неймется?

Не люблю когда занимаются мифотворчеством и оправдывают свою криворукость языком. На любом тьюрингово-полном языке можно написать что угодно. Естественно каждый язык заточен при этом под свои конкретные задачи. Если ты пытался на VB ось написать скажем, то мне тебя жалко. Если не понимал принципов работы программы - сам не хотел ковырять ее досконально. Скажи объективно, чем VB может «попортить» руки хлеще того же Python?

Вот и иди пиши свои чайники с калькуляторами на вб

чайники с калькуляторами на вб

Эм...юноша, вы понимаете толк в извращениях. Если вы писали под микроконтроллеры на VB...вы либо гений либо му*ак

anonymous
()
Ответ на: комментарий от anonymous

В Ruby/Python нет четкого разделения на public/private/protected. Это пока все, что я успел заметить. Программировать в стиле ООП начал недавно, до этого в процедурном.

netcat ★★
() автор топика
Ответ на: комментарий от netcat

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

Ну, дык, о чём и говорю.
Нормальный программист должен всегда заниматься самообучением. Но ставить самообучение во главу угла — непозволительная роскошь. Ну, какой самоучка будет заниматься доказательством программ, как у него, вообще, может появиться такая идея? Сколько времени самоучка будет тратить на переосмысление идей, заложенных, например, в Haskell? Нет, если наш самоучка достаточно обеспечен и располагает избытком времени... Но если имеются конкретные сроки и конкретная нетривиальная проблема, то самоучки начинают проигрывать тупо по времени приобретения знаний. В случае неудачи — стресс, проблемы недооценки собственной личности, какое-нибудь самоедское: «я не справился, я должен был справиться, я недостаточно...», а каждый успех, как подвиг.
Работа, как подвиг.

Тот самый Мюнхаузен, 1979г

- Ну,что вы скажете, господин бургомистр, о человеке, который ежедневно отправляется на подвиг, точно на службу?
- Я сам служу, сударыня. Каждый день к 9 утра я должен идти в мой магистрат. Я не скажу, что это подвиг, но, вообще, что-то героическое в этом есть.
- Вы что, издеваетесь надо мной?!
- Успокойтесь, баронесса! Я просто стараюсь быть объективным.
- Да, к чёрту вашу объективность!

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

anonymous
()
Ответ на: комментарий от Andersen

Ок. Примерно через неделю кастану вас в этот тред и дам ссылку на книгу.

mkam
()
Ответ на: комментарий от netcat

Почему я считаю, что сказанное выше может иметь место быть:

1. Хотя, начинать изучение с муры(!) про переменные... [они что не нужны?]

2. Ну, те, кого я собираюсь учить, одного со мной возраста. [т.е. ты такое же школоло]

3. Может, с крестов начать? + Qt [ты бы уже определился что знаешь....]

4. У меня дотнет и жава вызывают бугурт. [А как под виндами собрался писать? Можно, но ты не знаешь как)]

5. ибо я привык к «тяп-ляп, кнопку сюда, текстбокс сюда, пишем обработчик для событий» и не понимал, зачем нужны кресты, если васик лучше и проще. [до сих пор не понял]

6. Моя цель - дать представление о принципах программирования, работе с системами автосборки(CMake) и контроля версий(git). [ты же под виндами собрался учить, нафика такой гемор как CMake там?]

7. И да, разве у С много хаков? [ты же его знаешь, что за вопросы]

8. Я имел ввиду комбинацию ООП с С, коей является, в какой-то мере, С++. Изучив С, будет легче изучить ООП на примере С++. [Нет, в С++ свое понимание ООП, немного извращенное. Оно не чистое. Многие вещи с парадигмы будут потом вызывать батхёрт у твоих «падаванов»]

9. Учить школьников лиспу? Вы таки шутите. [объяснили уже ниже, даже пруф дали]

10. .... я изучил SICP, в связи с чем имею представления о Lisp по Scheme. [Не изучил и не имеешь. Нет понимания того минимума, который там описан]

anonymous
()
Ответ на: комментарий от netcat

11. Вместе с тем, я лелею мечту выучить профессиональных программистов, которые знают низкоуровневый и высокоуровневый язык и применяют их в зависимости от задачи. [универсалов нет, да и ты ведь лишь основы рассказываешь, нет?]

12. Я хочу научить основам, после которых они смогут развиваться в том направлении, в каком захотят. [Ты не знаешь основ. Пруф ранее (про схему) и далее (не читал Кнута), чему объективно можешь научить такое же школоло, что они не прочитают в книге «С++ для имбицилов»?]

13. Ты прав. Но нужно учесть одно: школота юзает винду и ей надо применять свои знания. Скорее всего, она попросит меня научить писать гуевые проги(под винду). На каком языке показывать основы с учетом вышесказанного? [Любой тьюрингово полный язык, который ты знаешь в совершенстве+биндинг на любой тулкит, в общем то просто все]

14. А разве нет риска так выучить быдлокодеров? [языки идеально подходят под твои требования]

15. Те кто будут ходить на факультатив и знают это. Моя задача - дать основы. [от идеи воспитания универсалов отказался? куда девались Cmake и git?]

16. Основы самоучкой лучше не изучать. Я же сам самоучка, по опыту говорю. Ранее: ...одного со мной возраста. [ну ты понял]

17. А про C вообще интересно говоришь. В любом языке есть хаки, где-то больше, где-то меньше. Смотря, что под этим подразумевать. [опытный программист прекрасно понимает границу между фишками языка и хаками, если нет этого понимания - обратно учить матчасть]

18. ГОВОРЯ «НИЗКОУРОВНЕНВОЕ ООП», Я ХОТЕЛ СКАЗАТЬ «КОМБИНАЦИЯ НИЗКОУРОВНЕГО ЯЗЫКА С ООП». Я ЭТО СКАЗАЛ НЕСКОЛЬКО ПОСТОВ ВЫШЕ. [не кричи]

19. проблема состоит не в выборе языка, а в выборе направления: «от низкого уровня до высокого» или наоборот. а может, вообще не так? [проблема - отсутствие понимания как самого курса тобой, так и его целей и структуры]

20. К тому же кресты активно используются и знать их надо. [кому? может эти люди вообще забьют на программирование? кресты применяются сегодня далеко не во всех сферах. Рейтинг языков как бэ намкает)]

21. В Ruby/Python нет четкого разделения на public/private/protected. Это пока все, что я успел заметить. Программировать в стиле ООП начал недавно, до этого в процедурном. [слив засчитан, особенно про рубин, посмеялся. Если не знаешь ООП так и не учи ему. BlueBook хотя бы почитал что ли. Или хотя бы Бертрана Мейера]

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.