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)
Ответ на: комментарий от watchcat382

Скорость работы такого компилятора. Сколько оно будет собирать хотябы линуксовое ядро?

Разве мы собираемся компилировать линукс?

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

Трудная у них профессия.

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

если все носители русского языка исчезнут, то «Война и мир» так же исчезнет

Для неё есть переводы.

Если вы мне не верите, то можете обратиться к библеистике и убедится, что даже сей набор текстов частично утратил смысл.

У него нет оригинала. Поэтому приходится гадать.

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

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

tcc собирает его примерно 15 секунд. Пусть питон работает в 20 раз медленнее, значит примерно 5 минут.

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

эээээ что?

города «обычно» демографически слабее(производная количества) своего контадо

19 век был бумом и наложением когда «гигиена» начала возвращаться в города и ещё не вернулась в сёла -

в целом города всегда демографически нето-импортёры

т.е буквально всеобщая урбанизация [всех известных обществ] т.е. «обезсёливание» сокращает насселение

и этот «факт» очевиден демографам как раз с середины 19 века - если не раньше

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

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

Старик Гомер латынью не владел.
vM ★★
()
Ответ на: комментарий от praseodim

земля может и 1 триллион(10 в 12 для ясности) человечества обеспечить всем достаточным

писк про депопуляцию(тем более злонамеренную) это «перенос» см тот же зелённый сойлент

ваще Капица со (не) своим Гиперболическим Ростом по ходу прав

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

есть простое и не факт что правильное решение:

бан на работу женьщин

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

Наводить на бухгалтерскую отчётность

Бумажки с буковками и циферками вижу, дохода не вижу.

Красивых бумажек с надписью «100 рублей» в вашей реальности не существует?

Бумажки, конечно, объективно существуют. Каждый может их видеть и трогать.

Но то, что делает их деньгами, потрогать или зарегистрировать приборами нельзя. Этой чудесной субстанции в бумажке нет. И вообще в физической реальности нет — только в реальности человеческой деятельности.

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

дык скорость обусловлена не столько «процом» сколько семантикой языка который транслируют в битики

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

если же задача ещё и утяжеляется оптимизирующими преобразованиями то там ваще комбинаторный взрыв перебора

т.е. Си не предназначен для экономной по времени компиляции

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

в тех же zig? Golang! Oberon! быстрая компиляция именно за счёт отказа от возможности полного графа зависимостей и ограничением DAG

на ряду с другими проектными решениями делающую компиляцию ограниченной не вычbслениями а io

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

комментарии в программе на английском, ибо «общепринято».

С времен когда я работал программистом прошло уже почти два десятка лет. Вообще-то это много и мои представления о общепринятом могли и несколько устареть. Движение в сторону общемировых трендов меня не удивляет. На ЕС ЭВМ которые я успел немного застать - русского языка в программировании было больше чем на ПК. Увы - английский в программировании это тоже самое что латынь в медицине. Она даже в рецептах из районной поликлиники.

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

подальше от мкадов нищета нищетой

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

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

второй сверхдержавы мира не было

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

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

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

Так в современном русском что такое «тормашки» неизвестно. А скоро будет неизвестно ещё больше: https://cs12.pikabu.ru/images/big_size_comm/2022-02_3/164473095415519.jpg

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

Бумажки с буковками и циферками вижу, дохода не вижу.

Так циферки показывают доход. Как циферки на линейке показывают длину предмета.

Но то, что делает их деньгами, потрогать или зарегистрировать приборами нельзя.

Деньгами их делает согласие окружающих поменять на любой другой товар. К слову, в 90-е бутылка водки была тоже деньгами. Также, как пар делает газом отсутствие фиксированного объёма. Это тоже потрогать или зарегистрировать приборами настолько же нельзя.

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

глубинки у них просто нет. А там, где она есть (Скандинавия, например), она мертва.

Лет семь назад мой верующий приятель ездил в Финляндию к своим духовным сестрам и братьям,живущим именно что в глубинке (по религиозным причинам). Охренел от количества пустующего жилья на хуторах. Нет,это не развалины, нормальные частные дома и даже коттеджи. Но видно что в них давно никто не живет. А где жители? Да говорят в теплые страны свалили. На Канарах например большая финская община. Главный линуксоид Торвальдс вон тоже свалил в США где климат более подходящий для жизни человека как биологического вида. В России кстати тоже вымирают малоподходящие для жизни места,а например тёплый Краснодарский вполне себе населением прирастал до начала боевых действий у них под боком.

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

Разница между самой высокой точкой и самой низкой (по твёрдой породе) – 20 км

И какой это процент от 12.7 тыс км общего диаметра?

наш геоид приплюснут с полюсов.

На очень небольшую относительно диаметра величину,опять же доли процента.

Я видел в инете модель Земли без воды. крайне уродливая кривая каменюка, даже близко не шар.

На этих моделях «уродливости» специально увеличены чтобы их вообще было видно. Вот статья на эту тему с готовыми расчетами https://pikabu.ru/story/forma_nashey_planetyi_11506026 На двухметровом глобусе самая большая гора и самая большая впадина не дотягивают до двух миллиметров если в масштабе изображать. Подойдя к такому глобусу эти царапинки и пупырышки даже и не увидишь.

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

в московской агломерации (Москва + ближайшие пригороды) уже чуть ли не 20 миллионов живет - чуть ли не 15% вообще всего населения.

Слышал что в Монголии еще больший процент населения живет в столице.

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

мы, люди, всё ещё нужные и полезные и нас нужно учить, лечить, холить, лелеять.

Непонятно зачем всё это делать если использовать людей в качестве «больших батальонов».

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

демографию надо улучшать

Зачем? За один только двадцатый век население Земли расплодилось в восемь раз. Куда еще-то?

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

Для этого необходимо создать предсказуемое и обеспеченное будущее для населения.

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

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

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

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

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

Так циферки показывают доход. Как циферки на линейке показывают длину предмета

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

Сравните это с циферками дохода.

Деньгами их делает согласие окружающих поменять на любой другой товар

Именно. Искали способ измерить якобы объективно существующую величину — и внезапно притащили в свой элементарный расчёт человеческое общество целиком.

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

Только циферки на линейке показывают объективную физическую величину, которая не зависит от того, кто её меряет.

Сравните это с циферками дохода.

Циферки дохода также показывают объективную величину. Сначала её меряет бухгалтер, потом аудитор, потом иногда налоговый инспектор. Если у кого-то не сошлось, считают бухгалтера виноватым в намеренном неправильном измерении а наказывают.

метр остаётся метром

А вот Эйнштейн заявлял, что для быстро летящего относительно нас инопланетянина метр уже будет полметра.

Искали способ измерить якобы объективно существующую величину — и внезапно притащили в свой элементарный расчёт человеческое общество целиком.

Нет. Измерить стоимость можно стоимостью любого другого товара. Деньги — это просто единица измерения. Как гири в магазине.

Но стоимость действительно существует только относительно общества. Как длина и время только относительно системы отсчёта, а количество цветов в радуге относительно восприятия смотрящего.

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

Но я к тому, что цифры в 500 -1000 миллионов выглядят вполне реалистичными. Остальные «не вписываются в рынок».

Да, всё именно так как вы написали.

кастовое общество

И это тоже правда. Даже название ему уже придумали - технофеодализм.

с развитием роботизации

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

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

к 1920-м годам процентов 80 населения было сельское и плодилось оно тогда достаточно хорошо.

В те времена в сельском хозяйстве уровень механизации был околонулевой. Поэтому ребенок был выгоден родителям - это дополнительные рабочие руки. От него реальная польза была в хозяйстве прямо с малых лет. Чтобы пасти коров - не требуется ни много знаний ни много физической силы,ребенок вполне справляется. А если не коров то гусей каких-нибудь. Сейчас коровы на автоматизированной ферме,куры-гуси на автоматизированной птицефабрике. Потребность в рабочих руках сократилась.

Пока в колхозы не загнали

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

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

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

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

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

Ваши «миллионы», тут же начнут размножаться

Чего же они сейчас-то размножаться не хотят во всех сколько-нибудь развитых странах?

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

Скорость работы такого компилятора. Сколько оно будет собирать хотябы линуксовое ядро?

Разве мы собираемся компилировать линукс?

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

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

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

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

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

У С++ очень неэффективная компиляция. Для каждого отдельного объектного файла нужно заново обрабатывать инклуды, выводить типы, компилировать инстанцированные шаблонные функции и т.п.

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

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

И это даже при том, что у Си ТОЖЕ неэффективная компиляция.

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

(Хотя при наличии альтернатив на питоне лучше вообще ничего не писать.)

wandrien ★★
()
Последнее исправление: wandrien (всего исправлений: 2)
Ответ на: комментарий от watchcat382

Размножаются то же - только тут вопрос, кто размножается. Когда был в штатах увидел интересное: если у семьи европеоидов 1-3 ребенка, то у их соседей мексиканцев по 9-10.

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

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

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

tcc собирает его примерно 15 секунд

Ядро линукса - за 15 секунд? Это на суперкомпьютере каком-нибудь что ли? Хотя если tcc - то он действительно способен быстро нагенерить плохой двоичный код практически почти без оптимизации.

Вот в обычный нормальный процесс сборки за пять минут на очень мощном ПК поверить могу.

Пусть питон работает в 20 раз медленнее

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

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

Циферки дохода также показывают объективную величину.

И у вас, конечно, есть прибор, который может её объективно фиксировать и измерять. Как длину или температуру. Ведь есть же?

Эйнштейн заявлял, что для быстро летящего относительно нас инопланетянина метр уже будет полметра.

Видите, даже в физике не так всё однозначно и в измерении длины нужно учитывать относительную скорость измеряющего.

Измерить стоимость можно стоимостью любого другого товара.

Хорошая попытка соскочить, но неудачная. А стоимость этого другого товара чем измерить — стоимостью первого? %)

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

единственный язык это utf8

Это не язык а универсальная письменность для всех языков. Причем судя по количеству символов - иероглифическая :-)

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

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

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

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

А иначе больших батальонов не будет. Да и маленьких. Из толпы наловленных по трущобам дикарей батальон не получается.

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

команда из нескольких квалифицированных программистов …

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

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

А стоимость этого другого товара чем измерить

Сравнить с эталоном стоимости из парижской палаты мер и весов, конечно.

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

И у вас, конечно, есть прибор, который может её объективно фиксировать и измерять. Как длину или температуру. Ведь есть же?

Да. Компьютер с 1С:Бухгалтерия называется :-)

Хорошая попытка соскочить, но неудачная. А стоимость этого другого товара чем измерить — стоимостью первого? %)

Длину объекта мы тоже можем измерить только длиной другого объекта. Тот же метр определён был через окружность Земли.

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

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

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

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

Кому и зачем нужны такие браузеры?

Какой выход?

  1. Меньше писать.
  2. Реже канпелять.
  3. Использовать быстродействующие вычислительные системы для эксплуатации быстрых систем сборки программ.
vM ★★
()
Ответ на: комментарий от vM

Кому и зачем нужны такие браузеры?

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

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

под управлением гипервизора, работающего на симуляторе

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

такая физическая величина, как энтропия, существует? Ведь для неё нет прибора, позволяющего произвести прямое измерение

Её можно посчитать как функцию от других, измеримых величин.

А доход так посчитать нельзя.

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

А доход так посчитать нельзя.

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

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

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

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

А есть ли прибор для измерения дохода?

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

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

Вы вышли из Москвы прямиком на запад Между любыми не слишком далёкими двумя точками этого пути более короткого пути не существует

Вам известно определение «прямой»? Вижу, известно. Вот на сфере кратчайшее расстояние между 2 точками – это кривая, получающаяся сечением плоскостью, проходящей через эти 2 точки и центр сферы. Т.е. «точно на запад» не будет кратчайшим.

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