LINUX.ORG.RU

ЛОР, помоги выбрать ЯП для обучения

 , , , ,


1

3

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

Вот к каким мыслям я пришёл:

Язык должен наиболее чисто демонстрировать самые основы написания кода.

Не Си и не современные коммерческие языки (Java, C#, Go). Си, хотя примитивный в основе, усложнён из-за окружения, в котором используется. Современные коммерческие языки были созданы для решения проблем индустрии. Проблема общая: я хочу преподавать материал по мере нарастания сложности. Если в языке неизбежно приходится использовать классы или printf, то это затруднит объяснение (не хотелось бы слишком часто говорить «потом узнаешь для чего это нужно»), напугает студента (ему придётся писать код, используя возможности, которые он плохо понимает), создаст неправильное восприятие основ (как будто printf — это какая-то важная часть компьютера или ОС).

В целом, я хочу постепенно наращивать сложность и, если задачу можно решить более простым методом, то выбрать этот метод.

Языки, между которыми я выбираю: Pascal и Python.

Pascal устарел и денег не принесёт (обидно), но это и не является основной целью. Целью является программирование, а не современное окружение.

В частности, я не собираюсь задрачивать студента на Delphi или любой «продвинутый» диалект языка. Это противоречит цели. Я рассчитываю на то, что после должной тренировки “bare bones” нужно перейти на современный язык и это будет легко.

Важно упомянуть, что спека языка Oberon (Виртовский язык, тот же Паскаль, только упрощённый и доработанный) составляет 17 страниц.

Питон мне сложнее оценить, потому что я избегал работы с ним.

Если ограничиться императивным подмножеством, без ассоциативных массивов, классов и мета-классов, list comprehensions, HOF, исключений, то выглядит как альтернатива Паскалю. Хотя меня беспокоит динамическая типизация. Типы — очень важная вещь, хотелось бы чтобы язык помог это донести, а не быть типа «ну да, это важно, но ты забей».

Это все мои мысли.

Что касается практики, то я имел несчастье наблюдать как человек впервые знакомился с программированием, изучая Java на javarush. На это было больно смотреть.

Edit: дальнейшие пояснения по теме:

  • Подробнее про то, почему я считаю, что изучение основ и Паскаль хорошо сочетаются: 1
  • Почему не Си и не ассемблер: 1 2
  • Почему Паскаль: 1 2
  • Почему не Питон: 1
  • Целевая аудитория: 1
  • Почему такая размытая аудитория: 1 2
  • Про важность иерархии: 1


Последнее исправление: kaldeon (всего исправлений: 10)
Ответ на: комментарий от monk

500 тысяч не деньги

Не деньги для начала бизнеса. Для индивида это может быть недостижимой суммой.

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

Литературоведение — наука.

Нет, т.к. литературы реально не существует, литература – совокупная субъективная реальность, вне мозгов читателей не существует.

у науки с математикой дела обстоят

И опять нет. Собственно, у слова «наука» много значений. И вам узе указано – математика изучает аксиоматически построенные модели, например, какие утверждения из них можно и нельзя вывести?

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

Математика — это язык науки.

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

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

Встречал цифру, что в мире есть примерно 2000 Семей с большой буквы.

Теперь небольшой ликбез – эти семьи Семьи только в текущей экономической реальности. Начни строить описываемое вами общество, и эти Семьи потеряют свою власть.

Так же укажу, что для обслуживание высокотехнологичного оборудования и его воспроизводства требуются высококвалифицированный персонал.

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

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

Гуманитарные науки - это в конечно итоге науки управления обществом.

Гуманитарные науки – науки, изучающие продукты человеческой жизнедеятельности: литературу, прочие искусства, языки, историю мысли и т.д. Они не изучают ни человеческое общество, этим занимаются социальные науки, ни человека, этим занимаются антропологические науки и медицина.

Естественно, что быдло к таким наукам не подпускают

Ну да, ну да… А вам известно, что математика занимается вопросами управления обществом? Например, теория массового обслуживания, пресловутая кибернетика и даже… информатика? Есть ещё математическая статистика, например.

в 1917-м ликвидировали старые гуманитарные школы

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

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

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

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

Я начал со фразы: „по данному поводу я сказал всё, что хотел сказать“. Жалею, что на неё же и не удержался.

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

Кстати, а такая физическая величина, как энтропия, существует?

Безусловно существует только Господь Бог. Со всем остальным возникают сложности. Очевидно, реальность существует и в неё есть нечто, для описания чего может пригодиться модель, в рамках которой имеется такое понятие, как энтропия. Совокупность всех наших наблюдений говорит нам, что энтропия существует. Однако прежде, совокупность всех имеющихся наблюдений говорила нам, что существует и флогистон. А потом эфир. Мы провели новые опыты и отвергли прежние воззрения. Можно надеяться, что и в будущем мы узнаем нечто новое, что позволит нам пересмотреть наши взгляды на энтропию. Вот, до этого времени она условно существует, а позже — как получится. Пожалуй, это наиболее аккуратный способ ответить на данный вопрос.

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

Потому что государство мешает. Антимонопольные законы.

Государство не дало купить фирму, состоявшую из двух студентов? Точно?

И местная забегаловка после этого не конкурент, а часть сети.

Сеть конкурирует с местной забегаловкой в той же мере, в какой 1С с тёткой бухгалтершей из местного ООО.

Вот есть в Сургуте СургутНефтеГаз. Доля от экономики Сургута 25%, доля от экономики РФ вообще мизерная.

А СургутНефтеГаз - это монополия в отрасли? Точно?

Но специалистов приходится выбирать только среди тех, кто не смог устроиться в СургутНефтеГаз.

Кому и для чего набирать? Все нефтяники РФ работают в Сургуте?

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

Кто- «они»? Вы нить обсуждения вообще удерживаете?

Есть достаточное количество прикладного ПО, написанного исключительно на Си.

Достаточное - это какое? Какой процент прикладного кода сейчас написан на Си? Малый. А раньше большой. Вывод: никакого устойчивого монопольного положения для ЯП не бывает в общем случае.

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

Теперь небольшой ликбез – эти семьи Семьи только в текущей экономической реальности. Начни строить описываемое вами общество, и эти Семьи потеряют свою власть.

Вот прям таки потеряют, да с чего бы? Наоборот, процент собственности, который им принадлежит все увеличивается и в некоторых странах уже как бы не более 50% национального богатства в руках 0.1%

Так же укажу, что для обслуживание высокотехнологичного оборудования и его воспроизводства требуются высококвалифицированный персонал.

Требуется. Но кто сказал, что его много требуется?

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

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

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

ЛОР, помоги выбрать ЯП для обучения (комментарий)

Гуманитарные науки – науки, изучающие продукты человеческой жизнедеятельности: литературу, прочие искусства, языки, историю мысли и т.д. Они не изучают ни человеческое общество, этим занимаются социальные науки, ни человека, этим занимаются антропологические науки и медицина.

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

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

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

Ну и чем после этого являются твои социальные науки? По крайней мере публичные. По большому счету фигней, которую надо в /dev/null и на помойку, чтобы не портила мозг.

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

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

praseodim ★★★★★
()
Последнее исправление: praseodim (всего исправлений: 3)
Ответ на: комментарий от visitor

Государство не дало купить фирму, состоявшую из двух студентов? Точно?

Ага. Как только начинаешь скупать конкурентов, приходит государство и делает с тобой то же, что с AT&T.

Сеть конкурирует с местной забегаловкой в той же мере, в какой 1С с тёткой бухгалтершей из местного ООО.

Нет. Тётка бухгалтерша для 1С клиент. А местная забегаловка не покупает у сети, а продаёт продукты клиентам сети. Поэтому конкурент.

А СургутНефтеГаз - это монополия в отрасли? Точно?

В пределах города определённо.

Кому и для чего набирать? Все нефтяники РФ работают в Сургуте?

Я про город. И не про нефтяников. А, например, если нужен тот же бухгалтер или водитель. Остальные предприятия Сургута выбирает из тех бухгалтеров и водителей, которые по каким-то причинам не подошли СургутНефтеГазу.

Кто- «они»? Вы нить обсуждения вообще удерживаете?

Корпорации. Монополисты.

Достаточное - это какое?

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

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

Словарь Уэбстера определяет науку как «обладание зна­ ниями в отличие от невежества или непонимания; от­ расль или раздел систематизированного знания, пред­ ставляющего собой или могущего представить собой осо­ бый предмет изучения».

:)

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

Джеймса Уотсона, Нобелевского лауреата (за открытие ДНК) лишили всех почетных званий

В каком году это было?

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

я имел в виду древнегреческий

А псевдолатынь вполне жива:

Agitatis Ultramarini!
Dominitis Ultramarini!
Non praestatis Ultramarini,
nobilitis Ultramarini!
vM ★★
()
Ответ на: комментарий от vM

А псевдолатынь вполне жива:

Этих носителей обещают через 38 тысяч лет.

Латынь жива: https://la.wikipedia.org/

Но вот носителей нет.

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

Как только начинаешь скупать конкурентов, приходит государство и делает с тобой то же, что с AT&T.

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

Тётка бухгалтерша для 1С клиент. А местная забегаловка не покупает у сети, а продаёт продукты клиентам сети.

Так и местная забегаловка точно такой же клиент франчайза.

В пределах города определённо.

Сургутнефтегаз продаёт свою продукцию в пределах города? Можно мне той же травы отсыпать?

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

А при чём тут монополия, если остальные предприятия не занимаются добычей нефти и никак с Сургутнефтегазом на рынке на конкурируют?

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

Но ведь не пользуются!

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

Правильно ли я понимаю, что мы наконец пришли к выводу, что конкурентам монополист не страшен?

Если конкурентов охраняет государство, то да. В самом начале был тезис, что государство не должно как-то ограничивать монополии и давать какие-то преимущества малым организациям. Мол, если кто-то придумает что-то действительно хорошее, то и так пробьётся.

В США сейчас реальные монополисты — это BlackRock, Vanguard Group и State Street. Потому что под антимонопольные законы не попадают, так как инвестиционные фонды. И вот они реально скупают всех потенциальных конкурентов тем организациям, которыми уже владеют.

Так и местная забегаловка точно такой же клиент франчайза.

В этом случае, разумеется. Как только забегаловка стала частью сети, она перестала быть конкурентом.

Сургутнефтегаз продаёт свою продукцию в пределах города?

Продаёт. А почему он не должен продавать бензин в своём городе?

А при чём тут монополия, если остальные предприятия не занимаются добычей нефти и никак с Сургутнефтегазом на рынке на конкурируют?

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

Но ведь не пользуются!

Суть вообще не про прикладное ПО. А про то, что сейчас сделать ОС без поддержки Си почти невозможно, слишком много на него завязано. Причём, даже если в системной части ни строчки на Си нет, как в KolibriOS.

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

Немного обсуждали. В целом, я не шарю за Бейсик, давным-давно только использовал самый примитивный диалект – такое точно не подойдёт. А современный выглядит как нечто очень близкое к Паскалю.

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

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

Итак, основная претензия к Си как учебному языку окромя его клинописного синтаксиса – необходимость в библиотеках, причём как раз стандартная и не подходит, см. начало по отношению к printf.

Тут у мя подумалось, а может есть путь проверки, что делает прога, без организации вывода и диалоговых режимов? Так ведь есть! Дебагер!

Но тут путь будет начинаться с чтения программ, причём исполняемых файлов в дебагере. Понятно, что элементарных.

Поясняю: создаётся набор учебных программ вида

int main() {return 0;}
int main()
{
 int a;
 a=0;
 return 0;
}
int main()
{
  int a;
  a=0;
  return a;
}

и т.д. Компилите их неоптимизирующим tcc, запускаете в дебагере и смотрите c объяснением падавану, как там что работает, а потом смотрите листинг Си с объяснением.

Потом проги сложения 1+0, 1+1, с переполнением целочисленой переменной, вычитание, умножение, деление и с делением на нуль и т.д.

Потом с плавающей точкой разной трчности, символьные.

Потом ветвление, область видимости и т.д. Но всё простейшее и через дебаггер.

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

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

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

mister_VA ★★
()
Последнее исправление: mister_VA (всего исправлений: 1)
Ответ на: комментарий от monk

В США сейчас реальные монополисты — это BlackRock, Vanguard Group и State Street. Потому что под антимонопольные законы не попадают, так как инвестиционные фонды. И вот они реально скупают всех потенциальных конкурентов тем организациям, которыми уже владеют.

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

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

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

А поиск «красных ведьм» в 50-е в США? Во времена,когда мировое коммунистическое движение переживало глубокий кризис. Кстати, НИ ОДНОГО агента Коминтерна в правительственных структурах США так и не нашли. Зато как прославился Джозеф Маккарти.

Туда же и «зелёное движение». И при этом параллельно существует и друга повесточка, на которой пиарятся другие, т.н. консервативные политики, добивающиеся изъятия из школьных библиотек других книг, запрета на преподавание эволюционной теории и возвращения ежеутренних молитв.

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

Разные повесточки всю жизнь продвигали политики за ради хайпа.

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

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

не могут заставить неофициально соблюдать повесточку

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

А вот если инвестор начинает спрашивать с пристрастием

Это официальное давление. В частном секторе, но официальными лицами, облачёнными властью. Хоть и не государственной.

Для расширения кругозора: вы действительно считаете, что псевдохристианские фильмы, сериалы, спектакли ставятся на донаты от верующих?

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

Для расширения кругозора: вы действительно считаете, что псевдохристианские фильмы, сериалы, спектакли ставятся на донаты от верующих?

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

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

Формально христианином может быть лишь член той Церкви, которая разделяет уложения перввх трёх Вселенских Соборов. Нюанс в том, что один из них запретил лицедейство христианам смотреть и участвовать в.

А так, я говорю не о перепевках библейских сюжетов, а, например, что-то типа «Ребёнок Розмари», «Омен», всякие «экзорцисты». Сцены в фильмах, когда герои сидят на проповедях.

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

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

Формально христианином...

«Донатистов не спросили»

ригоризм при прозелитизме нет пути

qulinxao3 ★★
()
Последнее исправление: qulinxao3 (всего исправлений: 1)

Топик не читал. Ассемблер предлагали? Хотя я бы начал с проектирования АЛУ в специальном ПО для схемотехники. Там даже запустить можно и посмотреть, что на входах, что на выходах. Потом можно плавно переходить на ассемблер.

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

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

foror ★★★★★
()
Ограничение на отправку комментариев: