LINUX.ORG.RU
ФорумTalks

Паскаль - годный ЯП для начинающего?


0

1

Есть ли в этом хоть доля правды? Я сомневаюсь.

В обучении программированию всегда есть баланс между глубоким пониманием работы программы и вероятностью на программирование забить, так как стремное это дело(С) и возможностью быстро наваять прикольную програмку, повысить ЧСВ до небес и полюбить программирование, но ничего особо не понимать (Java, C#). Маргинальщине вообще нечего делать, пока не научишься нормальным ЯП. Паскалю нет места ни там, ни там. И ничего впечатляющего не напишешь и истинную суть памяти тоже не поймешь. Фраза Вирта устарела, о том что это лучший ЯП для обучения?

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

★★★★★

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

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

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

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

Новичку оно не нужно. Мало того даже вредно.

spoilt ★★★
()

Java тоже вполне нормальный вариант. Во-первых, можно объяснять основы кроссплатформенного программирования и виртуальных машин.

Во-вторых, синтаксис у него С-like, что поможет в будущем освоению C/C++/C# и т.д.

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

Так что, вариант стоящий.

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

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

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

Векторы значений (массивы), тип «множество», записи и записи с вариантами, объектный тип, процедурный тип.

Хаскеллисты смотрят на паскаль как на пластилиновый макет деревянного самоката.

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

Хаскелль - хорошее, полезное и красивое хобби

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

Если тред перейдет в срач Хаскель против Паскаля, то будет совсем уныло. Их даже как-то противопоставить стыдно. Прошу не нужно. Один успешно похоронен в продакшне, другой успешно не рождался в нем никогда

vertexua ★★★★★
() автор топика

> И ничего впечатляющего не напишешь и истинную суть памяти тоже не поймешь

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

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

Мне нравятся эти фишки:
- это простой язык
- это ЯП для программирования
- а этот ЯП для алгоритмов

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


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

Не я этот спор начал. Приношу свои извинения.

Что ты скажешь по поводу моего замечания на счет Java как стартового языка?

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

Я там пояснил что с Java все хорошо кроме практически отсутсвия работы с памятью. На ней вообще можно работать и годами не понимать как внутри устроена ссылка. Эту ужасно

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

Нашел. Строгая, динамическая.

Статическая все же предпочтительней для начала, ИМХО...

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

Чего еще надо?

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

Плюс процедурный тип имеется.

А TCO есть?

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

А как она устроена внутри? Просто это порядковый номер ячейки памяти компьютера. И все. Что еще тут знать нужно?

Если честно, мне всегда были непонятны аспекты прямой работы с памятью. Поэтому выбрал в итоге Java/.Net/Mono. Ленивый я )

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

Правильный ответ тебе уже сказали: scheme и SICP. Осталось только сраться.

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

> Слу, так ведь до 30 лет можно изучать всякую муру и не стать программистом ))

Языков много всяких. А если нужно расписать алгоритм - можно сделать на паскале. Будет всем понятно, как на псевдокоде, да ещё и работать будет.

melkor217 ★★★★★
()

C и PHP. потом Java

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

Было на лоре обсуждение новости, что в каком-то из левых курсов, где CS совсем не основное, перевели преподавания курса SICP со схемы на питон.

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

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

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

> А если нужно расписать алгоритм - можно сделать на паскале.

Нафига ?
Для выпедрежа или услады старперов ?
Я сишную нотацию вполне воспринимаю.

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

Хвостовая рекурсия? Сделать можно.

Всего остального из перечисленного нет.

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

http://www.securitytube.net/Python-Programming-Language-Lectures-from-MIT-vid...

это из гугля. А так эта тема была обсосана где-то в блоге Джоеля Спольского. Он финансирует разработку Mercurial силами студентов, и поэтому как и чему их там учат на computer science его живо интересует(интересовало).

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

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

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

Я сам сишник, паскаль не очень люблю. Но перевариваю.

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

> А как она устроена внутри? Просто это порядковый номер ячейки памяти компьютера.

в жаве-то? Да как угодно. Ну разве что ты видел исходники Sun JVM и что-нибудь в них понял ;)

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

>что такое компьютер еще не знаешь, а алгоритмы для него уже пишешь лол)

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

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

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

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

Это да, но не понял, к чему ты это сказал?

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

alg0rythm
()

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

trex6 ★★★★★
()

Разговор идет о ребенке лет в 14-15

поздно уже. настоящие программисты учатся с пелёнок

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

>Я к тому, что можно программировать на сурьёзном промышленном языке и при этом изучать теорию алгоритмов с примерами на паскале.

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

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

> В питоне ЕМНИП важны отступы и пробелы, а паренек-новичек. Зойчем приучать его к гадости с детства?

Это нормальное оформление кода-то гадость? (:

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

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

«программирование» на bash'е не является темой этого обсуждения.

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

> Новичку оно не нужно. Мало того даже вредно.

++

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

ну к тому, что мы хотим получить в конце: а) специалиста по «компьютерным системам», использующего программирование как один из способов общения с «компьютерными системами» или б) программиста, использующего компьютер как одно из устройств для программирования. Я рассматриваю тред в контексте (а), ты видать в контексте (б), и это доставляет =)

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

> Си - более сложный язык.

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

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