LINUX.ORG.RU
ФорумTalks

Для обучения, подходящий язык программирования

 


0

2

Собственно требования:

  • язык должен быть написан на самом себе
  • поддерживать shebang
  • REPL

из быстрогугла вынес Racket/Scheme/SBCL, Haskell, OCaml, D - первый вроде отлично подходит для обучения, но синтаксис ужасный, хаскел кажется более читабельным, но везде говорят мол сложный язык, не для простолюдинов. По окамлу и ди мало литературы, с математикой не особо дружу(

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

ПС: киньте книгой-ссылкой на материал относящийся к теме, безотносительно самого языка программирования



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

Немного Ассемблера, потом Си,

Не, Асм, потом - Паскаль, чтобы структуру программ как отче наш, а потом уже Си. Или же, Си вместе с Паскалем, одновременно.

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

Васик, однозначно и не имеет.

Если только в инкарнации на восьмибитках со спрайтами. Чтоб сразу игрушки писать. QBasic всем хорош, но в нём нет аппаратных спрайтов (что естественно).

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

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

Ruby понравился этим «бейсиковским» вайбом + ООП для людей. И рубин консистентый что-ли, нет как в питоне ощущения отдельных чит-кодов на каждую ситуацию.

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

С файлами QBasic как раз терпимо работает. Вот, с файловой системой - да, сложно. По каталогам тяжело бегать. С текстом - гораздо лучше, чем С работает, в Кубасике строки есть, и их конкатенация! Ограничение, конечно, на 256 символов, но строки - это просто глоток свежего воздуха, после С!

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

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

ya-betmen ★★★★★
()
Ответ на: комментарий от yu-boot

Ruby понравился этим «бейсиковским» вайбом + ООП для людей. И рубин консистентый что-ли, нет как в питоне ощущения отдельных чит-кодов на каждую ситуацию.

VB.NET еще консистентнее, почти C#.

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

Не зашло, после «взрослых» языков ощущается очень многословно и малофункционально :( Ощущение, что пытаешься кодить на языке 1С.

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

многословно

Слова генерятся почти автоматически, и потом очень легко читаются даже лет через 10.

и малофункционально

Какой функциональности не хватает, например?

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

Навязывание питона школоте
Вот только заодно и нормальным студентам
школоте
студентам

Вы уж определитесь кому именно, школоте или студентам.

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

школоте или студентам

А какая разница?

Большая. Даже между выпускной школотой и первокуром окончившим 1-й семестр большая.

Пока не начнешь сам борщ варить, считай школота.

Варение борща, варению борща рознь.

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

Может не так выразился. Не нашёл простого лёгкого способа perl-style пройтись по файлу или STDIN, разобрать регуляркой, записать разобранное в хэш, вывести с сортировкой и т.п.. Руби очень развратил в этом плане :)

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

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

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

Русский + математика, всё остальное ChatGPT делать должОн .

Физкультура ещё. В здоровом теле – здоровый дух.

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

в С нет строкового типа, нет нормального ввода текстовой информации из консоли, нет человеческой конкатенации строк.

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

Именно васик в чистом виде,

Что есть васик в чистом виде? GWBasic? Спектрумовский васик? Коммодоровский васик?

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

в С нет строкового типа

char[]

нет нормального ввода текстовой информации из консоли

scanf

нет человеческой конкатенации строк.

strcat

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

char[] - это ни разу не строковый тип. Нельзя сделать

char[] a, b, c, d;
a = "Каждый охотник";
b = " желает знать";
c = " где сидит";
d = a + b + c + " фазан";

scanf, который имел туеву хучу непонятных параметров форматирования, при шаге влево-вправо вешал DOS. Васик такого себе не позволял.

strcat, который не позволял ни d = a + b + c + " фазан";, ни d = a + b + c + str(i) + " фазан";

Спасибо, для обработки текста рулит Васик, если не тормозит. И однозначно, рулит Паскаль.

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

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

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

Херовый вброс.

Среди требований перечислены всякие отстойные свойства реализации, а не языка.

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

scanf, который имел туеву хучу непонятных параметров форматирования, при шаге влево-вправо вешал DOS.

Реально не помню такого, можно пример?

strcat, который не позволял ни d = a + b + c + " фазан";, ни d = a + b + c + str(i) + " фазан";

strcat(d,strcat(b,strcat(c... ну вы поняли.

Спасибо, для обработки текста рулит Васик

Васик не рулит не в чем.

И однозначно, рулит Паскаль.

Вот паскакаль можно в рульку записать, но по скорости в сравнении с ц, не торт.

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

он не позволяет вслепую проги набивать

Эм?

во-вторых, там ELSE нет.

Фига се у вас память :)

И встроенных спрайтов, опять же, нет.

Это вы сейчас о чем?

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

Реально не помню такого, можно пример?

Напишите какую-нибудь прогу под Borland C, со сканфом, с замысловатым форматированием, попробуйте повводить… и посчитайте, с какой попытки оно зависнет под настоящим DOSом. Шибко много не понадобится.

strcat(d,strcat(b,strcat(c.

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

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

Эм?

Глупо смотреть спектрумовский бейсик в отрыве от спектрума. А на спектруме нельзя печатать вслепую.

Это вы сейчас о чем?

Это я про команду SPRDEF, в первую очередь. И про всякие SPRCOLOR, SPRITE, SPRSAV и COLLISION’ы, которые есть, например, в Васике для Commodore

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

Напишите какую-нибудь прогу под Borland C, со сканфом, с замысловатым форматированием, попробуйте повводить… и посчитайте, с какой попытки оно зависнет под настоящим DOSом. Шибко много не понадобится.

Писал на трубо ц, «со сканфом, с замысловатым форматированием,» пробовал вводить, не висло «под настоящим DOSом». ЧЯДНТ?

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

И встроенных спрайтов, опять же, нет.

Можно переопределить часть знакогенератора )
Ну и Laser Basic есть.

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

Что умеет Бейсик, чего не умеет Питон?

Аппаратные спрайты.

Но, мы с @anc затираем Basic vs C, причём тут питон?

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

Писал на трубо ц, «со сканфом, с замысловатым форматированием,» пробовал вводить, не висло «под настоящим DOSом». ЧЯДНТ?

Наверное, в char[] писать не пробовали через scanf(«%s»,…

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

Можно переопределить часть знакогенератора )

Именно! Мы гамки в textmode таким образом пейсали :) красиво получалось :)

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

Можно, но в коммодоре можно спрайты масштабировать в 2 раза, можно один раз задать им направление и скорость движения - и они поедут сами, можно с помощью COLLISION автоматически обрабатывать столкновения…

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

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

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

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

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

Но коммодурь и стоила в четыре раза дороже,

Чем спектрум? Возможно. Чем IBM PC? А это вряд ли.

Ну и софтовая графика всяко богаче спрайтового железа.

Но, мы-то в разрезе

Для обучения, подходящий язык программирования

языки рассматриваем.

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

Согласен. Про эти, и всякие BLOAD’ы забыл. Ок, если без этих операторов - то, трудно что-то сделать не так, а полноценно программировать - можно. А вот в С способов сделать что-то не так гораздо больше :)

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

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

Не, низя, вставки как раз очень были востребованы :)

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

Да можно. Трудно, да, восьмибитки как-никак. А вот на IBM PC уже можно было и без вставок. Я вот не использовал.

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

А вот на IBM PC уже можно было и без вставок.

Тоже нет, графика же и прямая запись в видимопамять.

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

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

tiinn ★★★★★
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)