LINUX.ORG.RU

Язык для обучения программированию


1

7

Понятно, что Java - наверное самый мэйнстрим на текущий момент, ну с C#(Mono)(я не рассматриваю здесь пыхпых, джаваскрипт и прочий веб), но мне известна(как и большинству местных) статья, что изучение с Явы вредно для мозгов.
И вот, столкнувшись с тем, что отданные под моё руководство студенты 3го курса не сильно способны заниматься программированием на С++, задумался, как решить эту проблему, избегая 2х тупиков - делать всё за них, и выгнать их.
Допуская, что производительность языка не нужна(хотя, ввиду того, что делаем мы в основном числодробилки, это очень сильно допущение) и вообще у нас под рукой кластер, какой язык посоветует ЛОР, помогающий развить мозг молодых учёных до уровня С/С++? Да и вообще, список годных для обучения, и негодных соответственно. Думал было python, но тем не в нём производительность недостаточная, а самому реализовывать затратные вещи на С пока не хочется.
Update: vb и delphi не Ъ ввиду того, что я то под линуксом сижу. Update 2: всё, наработанное за время использование предложенного языка, не хочется терять, поэтому хорошо бы, если б можно было соединять уже готовые вещи с C/C++. Насчёт pascal я просто никогда такого не желал, там такое есть?

★★★★

Последнее исправление: aptyp (всего исправлений: 2)

что-то я не распарсил, чем вас питон не устроил? он отлично сочитается с C/C++ и достаточно абстрактен, чтобы на нём программировать, а не изучать тонкости работы железа.

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

Да и чтобы его понимать, надо _уже_ иметь представление, что такое ООП.

Ответ: не надо.

Ты противоречишь сам себе:

Для изучения любого ООП-языка нужно иметь об этом представление. Поэтому ООП-теорию учат отдельно и задолго до практических примеров.

Сборник велосипедов

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

Будто бы С/C++ на производстве применяют часто.

применяют matlab/octave и python.

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

С, haskell и lisp-подобные не поймут же

что значит не осилят? доброта, это конечно замечательно, но не будь мямлей - представь что ты их работодатель - нагрузи их по полной, чтобы выучили C++ + Python/Lua - всё, проблема решена.

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

С, haskell и lisp-подобные не поймут же

что значит не осилят? доброта, это конечно замечательно, но не будь мямлей - представь что ты их работодатель - нагрузи их по полной, чтобы выучили C++ + Python/Lua - всё, проблема решена.

причем тут программирование к прикладнику?

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

Ты противоречишь сам себе:

Для изучения любого ООП-языка нужно иметь об этом представление. Поэтому ООП-теорию учат отдельно и задолго до практических примеров.

[/qoute]

Не обязательно уметь проектировать классы, для того, чтобы пользоваться Qt. C++ императивный стиль тоже поддерживает.

--

Впадать в крайности - дурной тон. Твои личные предпочтения и недовольства вряд ли кому-то будут интересны. Программирование - это не только ЧМ, BTW. А Qt4 вполне достаточно для того, чтобы на его основе научиться программированию (раз уже ТС не устраивает Delphi/Pascal).

End Of Discussion?

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

причем тут программирование к прикладнику?

Ололо? Прикладное программирование - область более обширная, чем тебе кажется. Есть ещё матстатистика, моделирование, теория систем, экспертные системы etc.

С ув., прикладной математик.

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

Прикладное программирование

Прикладная математика, конечно же. Чур меня.

schizoid ★★★
()

Мне кажется, что ЧИСТО для обучения программированию подойдёт JavaScript.
С-подобен, ООП, доки + радактор + FF + FB - всё что нужно.

НО! Это мнение дилетанта, который никогда не преподавал.

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

Мне кажется, что ЧИСТО для обучения программированию подойдёт JavaScript.

Номер своего драг-дилера не подскажешь?

ООП

Причем тут ООП и JavaScript обучение программированию?

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

Ололо? Прикладное программирование - область более обширная, чем тебе кажется. Есть ещё матстатистика, моделирование, теория систем, экспертные системы etc.

и причем тут велосипеды от Qt4? да и тем более ООП? учебное время на более важные вещи тратить надо. А это студенты и сами потом осилят, если понадобится.

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

А Qt4 вполне достаточно для того, чтобы на его основе научиться программированию (раз уже ТС не устраивает Delphi/Pascal).

Че ты мелешь? Как можно на Qt учиться программированию, если для того, чтобы пользоваться Qt _уже_ надо уметь программировать? Хватит выдавать свои наркоманские иллюзии за реальность.

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

и причем тут велосипеды от Qt4? да и тем более ООП? учебное время на более важные вещи тратить надо. А это студенты и сами потом осилят, если понадобится.

Но ведь я то же самое утверждаю.

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

Но ведь я то же самое утверждаю.

ну на том и порешим :)

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

Номер своего драг-дилера не подскажешь?

нет, т.к. у него мало качественного товара

как-бы в сообщении ТСа мелькают JAVA, C++, C# - языки ООП, не так-ли?
ну и «обучение программированию» прямо в заголовке

а вообще советую читать сообщения целиком

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

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

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

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

Космические лучи как детектор контрабандного урана Компьютерный алгоритм

и

Люди плииииз объясните мне что есть Компьютерный алгоритм? и пример если можно,чтоб понятней мне было)))

Как мне понять о чем ты говоришь, в такой печальной ситуации?

vasily_pupkin ★★★★★
()

всё, наработанное за время использование предложенного языка, не хочется терять, поэтому хорошо бы, если б можно было соединять уже готовые вещи с C/C++.

Для разнообразия: OpenEuphoria

P.S. Для Паскаля есть p2c.

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

как-бы в сообщении ТСа мелькают JAVA, C++, C# - языки ООП, не так-ли?

И что дальше?

ну и «обучение программированию» прямо в заголовке

Так ООП не подходит для обучения программированию.

mopsene ★★★
()

3 вопроса:

1. какая специальность?
2. что должны знать стуенты на выходе (по задумке)?
3. курс общеобразовательный, или уже спецуха?

Далее:

Думал было python, но тем не в нём производительность недостаточная, а самому реализовывать затратные вещи на С пока не хочется.

у хорошо бы, если б можно было соединять уже готовые вещи с C/C++

мммм...

shty ★★★★★
()

реквест от ТС способа как научил безмозглых студентов C++ в случае успеха - а то майнтест медленно делается, а у меня энергии хоть отбавляй, да знаний - нуль

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

показывать им Си и объяснять, что это убогая абстракция убогой регистро-стековой машины

полиэтиленчик зажигает

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

Заслуженный педагог РСФСР ITT.

с приветом из криокамеры?

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

студенты 3го курса не сильно способны заниматься программированием на С++, задумался,

Какие студенты, такая и глубина, не?

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

Так ООП не подходит для обучения программированию.

так я же последней строкой написал, что моё мнение в данном воросе - «Это мнение дилетанта, который никогда не преподавал.», тоесть я предположил/предложил

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

студенты 3го курса не сильно способны заниматься программированием на С++, задумался,

Какие студенты, такая и глубина, не?

задача преподавателя - добавить глубины, а не погладить имеющиеся изъяны образования :)

shty ★★★★★
()

java хороша для обучения. Чем она вредна для мозгов не знаю, но выбора тут особо нет.

invy ★★★★★
()

И вот, столкнувшись с тем, что отданные под моё руководство студенты 3го курса не сильно способны заниматься программированием на С++

Александр Олегович?

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

лучше навести порядок в мозгах и продолжить изучение C++

для этого нужно, как минимум, желаение самих обучаемых, чего, как показывает практика, не просто нет, а даже с отрицательным знаком - типа нам нифига не нужно

соответственно идиллии не получится - получится война с масштабным прореживанием, чего ТС не хочет, да и деканат далеко не всегда одобряет (хотя зря, конечно)

shty ★★★★★
()

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

Численные алгоритмы я на ней реализовывал в бытность студентом ничуть не хуже чем реализовал бы на том же Си, ИМХО.

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

Вот ты в первом предложении все верно сказал про быдло.
http://ompldr.org/vYnM3MA

Вероятно гугл научился отличать быдло от не быдла, и теперь для быдла предоставляет только быдлячий контент.

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

java хороша для обучения. Чем она вредна для мозгов не знаю, но выбора тут особо нет.

Она не хороша, а противопоказана: вместо обучения алгоритмам и впитывании каких-то идей, абстракций и разнообразных (!) подходов к решению поставленных курсом задач - в голову напихают кучу бесполезных базвордов и откровенно вредную методологию разработки по: ооп и uml на каждый чих, мышление паттернами проектирования и тому подобное.

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

Есть вариант!

Если приматы, то, вроде бы, прямая же дорога потом в «инженеры знаний»,
а чего бы тогда не натаскивать их на каком-нибудь входном языке для
fuzziCLIPS? Система юзается для ЭС ППР (поддержки принятия решений),

да и просто вдруг кому-то интересно станет, а Си, и даже с плюсами,

вот кому интересно стало - и сам выучит.

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

Это зависит от преподавателя и от того как учить в первую очередь. У нас в универе ни одного баззворда за 2 семестра курса «разработки ПО», который читался на джаве не было.

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

Она не хороша, а противопоказана

В «сферическом случае» можно было бы начинать с Пролога или Хаскеля,
один хрен нигде нету упорядочивания образцов (пока :),

а Java - она, как минимум, для того, чтобы подотчётные студни завтра с голоду не подохли (ну, не знаю, мне так объясняли нынешнее пристрастие к ней в погроммистских пту).

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

Это зависит от преподавателя и от того как учить в первую очередь

А сразу во вторую от ограниченности java: язык многословный, невыразительный, недекларативный, отсутствуют tco, fcf, немутабельные структуры данных, pattern matching, multiple dispatch, вывод типов, ... , и так далее и тому подобное.

У нас в универе ни одного баззворда за 2 семестра курса «разработки ПО», который читался на джаве не было.

А что же вы тогда учили, если не uml и шаблоны проектирования?

alienclaster ★★★
()

Язык для обучения программированию

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

По сему предлагаю русский.

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