LINUX.ORG.RU
Ответ на: комментарий от LongLiveUbuntu

Кстати, вспомнил ещё одну черту паскаля, который не место в языке - файлы. И ещё встроенные процедуры и функции ввода/вывода.

Begemoth ★★★★★
()

Я тред не читал, но уверен, что ты ждёшь именно моего мнения. Итак:

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

Итого, учись паскалю. Ну или SICP. Затем учишь си (не си++). И уже затем берёшься за си++ с Qt и пытаешься делать что-то полезное. И только после этого тебе можно будет без необратимого ущерба для мозга смотреть на питон и php.

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

С чего бы им не место? Кстати, «встроенные» операции ввода-вывода содержатся в модуле System, который подключается автоматом. Аналогичное решение есть в Java и Scala.

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

Ключевые особенности PascalABC.NET (список внизу).

У C# из перечисленного нет разве что говно-веб-IDE. Кто такие «Робот и Чертежник» - понятия не имею. Черепашка что ли? Думаю, что эти же люди могли запилить то же самое для C#, сэкономив кучу времени. Впрочем, наверно это был очередной распил бабла.

Покажи мне хотя бы 1 школьника с планшетом на андроиде и C# :)

Если они запускают PascalABC.NET, то они это делают через моно или похожим образом. Было бы гораздо лучше, если бы они это сделали для C#.

forCe
()
Ответ на: комментарий от anonymous
kotolegokot@kotolegokot-desktop ~ $ man irony
Нет справочной страницы для irony
Kotolegokot
()
Ответ на: комментарий от legolegs

непригоден к реальной работе

Скажи это тысячам проектам на нем, лол.

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

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

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

Pascal. Но SICP/scheme после этого обязательно.

Pascal в этом списке совсем не нужен. После SICP/Scheme нужнее освоить Си.

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

Затем учишь си (не си++). И уже затем берёшься за си++ с Qt и пытаешься делать что-то полезное. И только после этого тебе можно будет без необратимого ущерба для мозга смотреть на питон и php.

Объяснишь в чем волшебство этой последовательности?

system
()

Turbo Pascal 5.5 учи.

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

Да вот только, «процедура» writeln умеет форматировать вывод (что-то вида writeln(«foobar: », x:width:prec)), а написать эквивалентную функцию на самом паскале нельзя. Так что это не процедура, а оператор языка, мимикрирующий под процедуру.

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

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

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

Да пофиг на чём она написана. Ещё раз, writeln допускает аргументы вида num:width:precision. Что это? Специальный синтаксис для writeln? Или же выражение языка, которое можно использовать и для своих функций и процедур? Если мне не изменяет склероз, то первое, к сожалению.

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

Какая разница? Куда большее значение имеет строгий компилятор. Шанс написать псевдорабочий код минимален. Ну и приучение к дисциплине в отличие от С.

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

Вот только гуйни не надо людям советовать.

Плюсую. Эту задачу можно доверить макакам.

gensym ★★
()

Если желаешь писать программы для удовольствия то паскаль а если зашибать бабосы и плеваться от «любви» к синтаксису то питон.

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

Но невозможность реализовать полноценные множества (обобщенные, а не новые для каждого нового типа) - это минус.

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

Повторюсь - в языке с достаточно мощной системой типов (и прямой работой с памятью) нет необходимости во встроенных множествах.

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

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

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

Изобрази типы этих нескольких процедур, которые будут работать с множествами целых чисел, строк, UUID-ов. Ты ведь обойдешься без повтора этих нескольких процедур для каждого из типов множеств, правда ведь?

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

Да, в паскале именно так, забив на строгую систему типов. А вот в С++ ничего такого делать не надо, обобщённые контейнеры там реализуются без обхода системы типов (имеется ввиду интерфейс этих типов).

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

Так в питоне синтаксис близок к идеальному же.

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

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

Изобрази типы этих нескольких процедур, которые будут работать с множествами целых чисел, строк, UUID-ов. Ты ведь обойдешься без повтора этих нескольких процедур для каждого из типов множеств, правда ведь?

function in__2(cisllo64, q64, w64: int64): boolean;
function in__3(cisllo64, q64, w64, e64: int64): boolean;
function in__4(cisllo64, q64, w64, e64, r64: int64): boolean;

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

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

Звучит как если бы кошку спросили: что ты увидела на приёме у королевы? - Мышку на ковре. Так и плюсовик ничего кроме хентая с ООП и прямым доступом к памяти для работы с рядом целых чисел выражающих состояние процесса и вообразить не может. Да не нужны какие-то контейнеры для сравнения нескольких чисел - на этом можно поломать мозги и себе и компилятору.

Napilnik ★★★★★
()

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

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

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

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

На stackoverflow ни хади, удар будет.

anonymous
()

Универсальный (и лучший) совет - с английского.

alienclaster ★★★
()

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

geometer
()

HtDP -> SICP, если HtDP кажется слишком лёгким, то сразу SICP. Потом можно алгоритмы по Вирту покурить. На выбор языка забей. А вообще, такие темы появляются по пять раз на день, ответы одни и те же. Нет, я конечно тоже тупые темы создаю, но я потом обязательно иду в церковь и ставлю свечку святому Шарбелю покровителю ЛОРа.

mentalmenza
()
Ответ на: комментарий от Napilnik
function in__2(cisllo64, q64, w64: int64): boolean;
function in__3(cisllo64, q64, w64, e64: int64): boolean;
function in__4(cisllo64, q64, w64, e64, r64: int64): boolean;

Больше копипасты, хорошей и разной!

Begemoth ★★★★★
()

конечно COBOL.

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

современном паскале

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

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

1) Он уже взрослый.

2) За прошедшие дней десять это третья тема.

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

Я даже боюсь представить, в какую кашу Go может превратить сознание начинающего программиста.

anonymous
()

тред не читал. хаскель уже предлагали?

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

Больше копипасты, хорошей и разной!

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

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

Си. Ибо си просто и полезен всем программистам.

А C++ язык нишевый и сложный, его стоит изучить только в том случае, если пойдешь в сторону «системного» ПО, железок, хайлод-бэкендов и пр. такого. Он лучше си на практике, но требует гораздо больших усилий при обучении.

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

современном паскале

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

Ошибка в логике. Свободное развитие паскаля это fpc, он вполне себе современный и развивается. А Вирт после разработки паскаля конструировал не его продолжение а мутантов-конкурентов с испорченным синтаксисом паскаля и заменителями goto. Ну и зачем они нужны паскалистам?

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