LINUX.ORG.RU
ФорумTalks

Ваш первый язык и любовь/нелюбовь к паскалю?

 , ,


0

2

Привет, ЛОР овец! Под впечатлением от недавнего топика захотелось узнать:

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

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

basic->pascal->c
pascal rulezzzz :) Но писать на нем муторно, медленно и неудобно... Для образовательных целей пока что ничего лучше не придумали

Jetty ★★★★★
()

С каких языков начинался ваш путь программиста?

GW-BASIC, QBASIC...

Нравится/бесит ли паскаль?

Не понравился по 2 причинам. begin-end конструкции. И недостаточная структурность, нет нормального метода досрочного выхода из цикла.

игрушечном паскале

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

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

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

Сам задал вопрос и сам ответил.

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

Эмм, std::string?

Просветите, я не слежу внимательно, это всё ещё часть стандартной библиотеки или уже часть языка?

В смысле, можно ли получить строку от конкатенации литерала?

std::string world = "world!";
std::string hello_world = "Hello " + world;

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

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

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

rezedent12 ☆☆☆
()

C/Logo/Pascal

Язык как язык. Не нравятся ограничения стандартных строк (лучше бы запись с двумя полями была: integer и массив character), в остальном годный язык.

Жаль, для веба нет подобного языка: JS - редкое дерьмо из-за своей типизации.

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

Один байт под длину — это, конечно, маловато

Во времена «640 килобайт хватит всем» этого было более, чем достаточно. Всё равно с большим объёмом текста приходилось работать в динамических буферах всем, периодически реализую ещё и подкачку с диска. :)

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

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

В современных Delphi уже не один байт даже для типа String. По умолчанию строки стали юникодные. А старые строки переехали в тип ShortString.

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

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

Q* уже не помню, но классический бейсик приучал к минимальному типо-мышлению, там числовые и строковые переменные отличались. :)

atrus ★★★★★
()

Pascal хорош в MS-DOS, когда хочется поиграться
Да и под DOS кроме C, Turbo Pascal, QBasic, Forth и Fortran-80 выбора то нету

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

А когда-то было нельзя?

Ну, вообще-то да. Откуда у литерала возьмётся оператор «+»? Но неплохо, да. Теперь у плюсов есть нормальные строки. :)

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

Откуда у литерала возьмётся оператор «+»?

Его у литерала и нет, зато он есть у пары литерал + std::string. http://en.cppreference.com/w/cpp/string/basic_string/operator+

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

Q* уже не помню, но классический бейсик приучал к минимальному типо-мышлению, там числовые и строковые переменные отличались. :)

Да, вроде прификсами, что к слову поддерживалось даже в Visual BASIC 6. Но уже в qBASIC можно было объявить s As String и использовать s как строковую переменную.

rezedent12 ☆☆☆
()

1. формально с басика на спектруме, осознанно - с паскаля 2. Нет, нормально и нейтрально отношусь, как и положено относиться к инструменту

ЗЫ почему игрушечном? ЗЫЫ Не программист

nerfur ★★★
()

1. С него самого начинал, с Паскаля.

2. Нет, не нравится, но это не имеет никакого значения. Языками пользуешься не потому что нравится, а потому что нужно. Английский и С++ мне тоже не нравятся но они нужны, а Паскаль не нужен. Почему нужны вопрос другой, так уж сложилось.

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

Это понятно. Но раньше такого не было. По крайней мере в статье 2000 года Джоэл приводит именно этот пример.

Но как ни старайся, никакой на свете строковый класс C++ не даст вам написать «foo»+«bar», поскольку строковые литералы в C++ всегда имеют тип char*, а не string. Абстракция прохудилась так, что языком C++ её не заткнёшь. (Интересно, что историю развития C++ можно описать как историю затыкания дырок в абстракции строк. Уж не знаю, отчего бы не добавить к языку элементарный класс строчек.)

Очевидно, что где-то между 2000 и 2016 годом дырку таки заткнули. Я так понял, что в C++11.

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

Да, вроде прификсами

Суффиксами. :) Строковые переменные должны заканчиваться на «$». Ну или «солнышком» «¤» в советских. Видать, доллар сочли не идеологически выдержанным знаком. :)

Но уже в qBASIC можно было объявить s As String

А, вспомнил. Мне QBasic запомнился больше «declare sub». После gosub/return это была манна небесная. :) А я ведь ухитрился графический редактор написать под УК'шку на этих gosub'ах в вильнюсском бейсике. :-D

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

С qbasic. Паскаль в основном был в виде Delphi, пока не переехал на Си и кресты. Отношусь нейтрально.

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

А, вспомнил. Мне QBasic запомнился больше «declare sub». После gosub/return это была манна небесная. :) А я ведь ухитрился графический редактор написать под УК'шку на этих gosub'ах в вильнюсском бейсике. :-D

Я когда то написал векторный графический редактор в GW-BASIC, естественно используя GOTO для правильного возврата применял флаговые переменные. В нём можно было используя цифровую клавиатуру рисовать цветными линиями и сохранять строку для оператора draw в файл.

Кстати насчёт declare оно же вроде для подключения внешних библиотек и в qBasic этого не было, это было в QuickBASIC

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

Паскаль прекрасен. ненависть к нему происходит от тупости. Там убрали указатели. И это бесит народ. Язык на редкость не противоречивый

dmxrand
()

Начинал с паскаля в школе) писал на тетрадке хелловорды. Безумно нравилось. Потом скриптота пошла,и паскаль мне перестал нравиться. Я винил его в своих проблемах. Когда немножко разобрался в нишах языков - начал учить Си. Вот тогда я и узнал, чем так хорош паскаль.

Все познается в сравнении. Авось увижу и достоинства Си когда-нибудь.

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

И ещё нужно выяснить - почему крестанутые так сильно бомбят с паскаля?

С чего ты взял? Плюсовики (в среднем) относятся к Паскалю совершенно нейтрально. Как к арифмометрам и латинскому языку — прикольно и исторично, но мертво и ныне бесполезно.
Ты наверное сплюсохейтер и проецируешь на предмет ненависти свои потаённые страхи.

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

Очень современный язык. У него есть столько возможностей которых нет у многих новых. ух точно C# беднее

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

Кстати насчёт declare оно же вроде для подключения внешних библиотек

Только я этого не знал, но declare sub прокатывало как и sub. :)

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

Паскаль жив и еще хипстеры офигеют. Оберон смотри

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

оооооооооо. детка я на двк еще под rt11sj писал. Студия? О тебя небыло с нами....

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

Си прощще не гони. Не выставляй себя идиотом перед людьми.

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

У Джоэла другой пример. «hello» + " " + «world» ты и сейчас не напишешь. В 14, кажется, стандарте должны были появится пользовательские литералы, но я перестал следить, не знаю, появились ли. Но даже с ними правильный код будет выглядеть как «hello"s + » world"s или что-то вроде этого.

Gvidon ★★★★
()

1. Fortran, числодробительно-инженерные задачи.
2. Pascal удобен для первоначального обучения «НЕпрограммистов» и быстрой разработки приложений (Lazarus) для «НЕпрограммистов».

quickquest ★★★★★
()

Начинал с вильнюсовского бейсика на БК0010-01 и спектрума. Очень приятно был удивлен, когда увидел паскаль. Даже паскаль на том же спектруме казался просто идеальным языком, правда с указателями не сразу понятно было. Кстати, помнит ли кто такую штуку, как SWAG? Это что-то вроде репозитория с различными паскалевскими исходниками. Мне как-то попало в руки несколько «выпусков». Там еще была утилита для поиска и просмотра на turbovision.

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

современные асмы совсем не то же самое.

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

Как это - «научить ассемблеру»? его понять надо, а не учить.

Да даже не «понять», а просто прочитать описание архитектуры надо

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

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

Т.е. никогда. Можем расходиться. :)

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

Си проще

int main(void)
{ 
    return('yes', *"no", **main, *********printf) ("hello world!\n") *0; 
}
HeipaVai1o
() автор топика

С каких языков начинался ваш путь программиста?

С английского.

Нравится/бесит ли паскаль?

Фиолетово.

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

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

В Виртовском Паскале много чего не было. Break/Contunue пришли в TP с версии 6.0 (1990 год).

недостаточная структурность

это тоже про Break/Contunue в циклах или про что-то еще? Модули, вложенность процедур/функций не играют на руку повышению структурности?

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

это тоже про Break/Contunue в циклах или про что-то еще? Модули, вложенность процедур/функций не играют на руку повышению структурности?

Операторы досрочного выхода тогда мне нужны были.

rezedent12 ☆☆☆
()

PL/I

К Паскалю в целом равнодушен (хотя тут надо указывать, какой из Паскалей имеется в виду).

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

Да, вроде прификсами

На самом деле и тем, и другим.
Префиксы (первая буква имени) задавались операторами «DEF{STR,INT,LNG,SNG,DBL} буква-буква».
Суффиксы добавлялись непосредственно к имени и мели приоритет, соответственно: $-строка, %-целое, &-длинное целое, !-одинарной точности #-двойной точности.

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