Форум программистов, компьютерный форум, киберфорум
Священные войны
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.56/235: Рейтинг темы: голосов - 235, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 07.11.2013
Сообщений: 5

С какого языка начать программирование Pascal или Python?

07.11.2013, 21:19. Показов 46407. Ответов 166
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Извините за вопрос, знаю, что не раз задавали но однозначного ответа я так и не получил. Мне 22 года, работаю электриком. Но после несчастного случая, забираться на высотку уже нельзя. Это наложенное ограничение не позволяет зарабатывать достаточно. Решил переквалифицироваться в программиста. Вакансий много, даже удаленки есть, в моем положении самое то. Направление не раздумывая выбрал ВЕБ. Для меня эта сфера, как площадка для предоставления своих услуг, может даже буду подрабатывать электриком наймом. Программировать не умею, даже в школе не изучали. HTML и CSS изучил, сейчас плотно занимаюсь версткой, так как нюансов много постоянно изучаю новые элементы. Но теперь надо учиться программировать. Мне нравится Python и PHP, но почему то программисты на форумах не советовали начинать именно с них. Мол изучи алгоритмизацию на паскале, а потом Python, кто то советовал с C начинать. Что то я запутался, подскажите так с какого языка начать изучение азов, для обучения непосредственно программированию, наработке алгоритмического мышления Pascal или Python, пожалуйста приводите еще аргументы?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.11.2013, 21:19
Ответы с готовыми решениями:

С какого языка лучше начать программировать: Pascal или Python?
В свободное от школы время планирую начать заниматься изучением одного из языков программирования, и стою перед выбором: какой язык лучше...

Обработка естественного языка на Python. Задача на программирование
Здравствуйте! Помогите переписать этот код или же написать полностью новый. Так как моё чудо не проходит по ограничению времени. Заранее...

Нужно перевести из языка прграммирования Pascal на Python
var s:string; i,j,n,k:integer; begin writeln('vvedite stroku:'); read(s); n:=length(s); for i:=1 to n do if...

166
 Аватар для CoderHuligan
1753 / 1019 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
04.02.2021, 10:48
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Usaga Посмотреть сообщение
Понятное дело, что где-то это может быть нужно. Но нужно оно не всегда.
И поэтому его учить не надо? Ну смешно же..
Цитата Сообщение от Usaga Посмотреть сообщение
Судя по тому, что морского боя мы так и не увидели,
Да увидите.
0
 Аватар для zeroalef
200 / 236 / 33
Регистрация: 29.03.2019
Сообщений: 667
04.02.2021, 15:29
Цитата Сообщение от politoto Посмотреть сообщение
но почти с той же средней эффективностью получится учиться игре в шахматы, переписывая партии мастеров
В качестве оффтопа, рекомендую "Шахматная новелла" Стефан Цвейг. Есть в аудио варианте, читает Яковлев.
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Таких вакансий мало, но они есть.
Полагаю вы как профессионал уже одну себе облюбовали? ЗП должна быть не менее 3.5-4 Килоденег/мес.
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Мне ближе старый фортран и бейсик, а си я люблю за то, что тут можно в старом стиле писать (как и положено). Известно, что язык формирует мышление, а современные структурные языки способствуют неправильному, уродливому мышлению. Паскаль тому яркий пример.. Раньше не задумывались о том, как втиснуть правильный алгоритм в прокрустово ложе структурщины, а создавали точный алгоритм. Тогда не ведали, что листинг должен быть "самодокументированным", что есть бред в кубе. Отсюда ножки(рожки) современных языков.. Чтобы понять алгоритм нужна документация, отдельная от кода, а код должен быть именно кодом для "компутера", а не для человека.
Пока я читал это всё меня не покидало ощущение что вы правы. Потом меня осенило. Это же лисп! Вы говорите о лиспе, сами того и не подозревая.
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Я занимаюсь для собственного саморазвития.
Ерунда. Вы мало того что сами не развиваетесь, так еще и других убеждаете этого не делать.
Цитата Сообщение от CoderHuligan Посмотреть сообщение
И поэтому его учить не надо?
Не надо. В целом "учить" ничего не надо.
0
 Аватар для CoderHuligan
1753 / 1019 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
04.02.2021, 15:51
zeroalef, - до профи мне далеко, как и многим из нас. Шахматную новеллу тоже читал, как и всего Цвейга, рекомендую. Лисп прячет состояния. Вложенность инструкций не позволяет писать и читать линейный код, слева направо. Приходится постоянно вникать во вложенность. Вложенность на бумаге/экране/листинге? Круто ли это? Может это лихое наследие программируемых калькуляторов, где памяти было мало, а стек выручал? И этот подход калькуляторщики перенесли и на машины где памяти завались? А мы по прежнему прячем то, что прятать нельзя? Нет, учить это надо, но надо еще понимать, что индустрия идет в прямо противоположенном направлении от истины..
0
Модератор
2131 / 1000 / 170
Регистрация: 23.07.2018
Сообщений: 3,349
Записей в блоге: 3
04.02.2021, 17:26
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Может это лихое наследие программируемых калькуляторов, где памяти было мало, а стек выручал? И этот подход калькуляторщики перенесли и на машины где памяти завались?
LISP намного старше программируемых калькуляторов. И на машинах, где развивался, а позже и аппаратно реализовывался LISP, было действительно завались ( по тем временам ) всяких ништяков.
На типичной MITовской машине 1970-х адресное пространство "процесса" - 218 36-разрядных слов. В одно слово помещается 2 адреса: удобно хранить LISPовскую ячейку.
https://youtu.be/YVj4MljuyXk
А мы по прежнему прячем то, что прятать нельзя?
Нельзя прятать от машины поток данных.
0
 Аватар для CoderHuligan
1753 / 1019 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
04.02.2021, 17:52
Цитата Сообщение от politoto Посмотреть сообщение
LISP намного старше программируемых калькуляторов.
Принято. Но кто делал Лисп? Математики. Математикам нужны чистые функции. Однако нужны ли они в листинге комп-программы? Результат функции проходит неявным образом, и язык это только поощряет.Это неправильно.
Цитата Сообщение от politoto Посмотреть сообщение
Нельзя прятать от машины поток данных.
Нельзя. А от программиста? Ладно, это тема для другой темы.
0
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
04.02.2021, 18:09
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Но кто делал Лисп? Математики.
Математик. Джон Маккарти, лауреат премии Тьюринга.

Цитата Сообщение от CoderHuligan Посмотреть сообщение
Результат функции проходит неявным образом, и язык это только поощряет
Что ты несёшь?

Добавлено через 1 минуту
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Но кто делал Лисп? Математики. Математикам нужны чистые функции. Однако нужны ли они в листинге комп-программы?
Ничего, что Алан Перлис, которого ты процитировал в своей подписи — Ph.D. математики?
0
 Аватар для CoderHuligan
1753 / 1019 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
04.02.2021, 19:11
Цитата Сообщение от korvin_ Посмотреть сообщение
Ничего, что Алан Перлис, которого ты процитировал в своей подписи — Ph.D. математики?
А я что-то против математиков имел? Математики изобрели (хорошо - математик) язык для себя. Это хорошо: язык для математиков. Зачем микроскопом забивать гвозди?
Цитата Сообщение от korvin_ Посмотреть сообщение
Что ты несёшь?
Чистые функции только что-то возвращают, но куда и кому? Пытаетесь скрыть потому, что фактически ваши функции тоже изменяют входные данные - это глобальное состояние стека. Хех.
0
Модератор
2131 / 1000 / 170
Регистрация: 23.07.2018
Сообщений: 3,349
Записей в блоге: 3
04.02.2021, 19:16
А элемент И-НЕ что изменяет? "Состояние" выхода?
0
 Аватар для zeroalef
200 / 236 / 33
Регистрация: 29.03.2019
Сообщений: 667
04.02.2021, 23:00
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Лисп прячет состояния.
Цитата Сообщение от CoderHuligan Посмотреть сообщение
А мы по прежнему прячем то, что прятать нельзя?
Это вы о чем? Не совсем понимаю что вы хотите сказать.
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Вложенность инструкций не позволяет писать и читать линейный код, слева направо.
И заодно дисциплинирует не писать многоуровневую вложенность. Точно так же как и в структурном коде: подпрограммы должны выполнять по возможности ровно одну задачу. Зато всё как вам нравится -- исходный код программы сразу в AST, лисп-список он же стек, семантика всех вызовов универсальна и в проста.
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Математикам нужны чистые функции. Однако нужны ли они в листинге комп-программы?
Чистота функций и вобще функциональщина к лиспу имеет довольно опосредованное отношение. У вас искаженное представление о предмете.
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Зачем микроскопом забивать гвозди?
Сказал человек, использующий win api где надо и не надо.
0
 Аватар для CoderHuligan
1753 / 1019 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
05.02.2021, 09:32
Цитата Сообщение от zeroalef Посмотреть сообщение
Это вы о чем? Не совсем понимаю что вы хотите сказать.
Сейчас от ооп все движутся в функциональную сторону. Прошу не путать с процедурной. А там, как бы не приветствуются переменные как класс (по крайней мере чем их меньше, тем лучше), а также ветвления (чем меньше, тем лучше). Переменные определяют состояние объекта. Состояние объекта является краеугольным камнем программирования вообще. Это реальная сущность и без этого невозможно никакое описание поведения объекта управления. А функциональщина прячет его, делает его неявным, не пытается сохранить его. Вся движуха происходит через стек, состояние обьекта атомарно по времени и определяется временем нахождения значения в стеке. А чтобы сохранить его на какое-то более разумное время надо использовать переменную, причем разделяемую между управляющими процессами. Но переменная - зло в функциональщине, а значит, чтобы перейти например к прошлому состоянию объекта необходимо рекурсивно что-то сделать со всеми вытекающими. Императивный подход позволяет сразу переходить из состояния в состояние просто контролируя глобальный индикатор. Глобальный для управляющих функций. Здесь нет излишних вычислений, но все соответствует алгоритмической логике задачи. Поэтому функциональщина и языки её исповедующие еще хуже чем ооп и структурщина из которой этот ооп вырос.
Цитата Сообщение от zeroalef Посмотреть сообщение
Зато всё как вам нравится -- исходный код программы сразу в AST, лисп-список он же стек, семантика всех вызовов универсальна и в проста.
Обманчива эта простота.. Дейкстра мечтал чтобы программы можно было читать как книги - слева направо поэтому ему пришлось избавится от goto, однако это привело к тому, что листинг программы стал переполнен вызовами различных функций необходимых только для того, чтобы скрыть недостатки структурного подхода. Это привело к функциональной парадигме когда функции подменили собой все..
Однако раньше были люди, которые мечтали о создании непроцедурных! языков, что позволило бы читать программы слева направо, а компиляторам дали бы дополнительные возможности для оптимизации.. А воз и ныне там.
Цитата Сообщение от zeroalef Посмотреть сообщение
Сказал человек, использующий win api где надо и не надо.
Если делать конкретно под винду, то считаю надо пользоваться апи, а если что-то кроссплатформенное и быстро, то надо пользоваться универсальными решениями. Например, редактор AkelPad был написан на чистых апи.
Цитата Сообщение от politoto Посмотреть сообщение
А элемент И-НЕ что изменяет? "Состояние" выхода?
Значение. При определенных уровнях сигнала на входах, будет определенный сигнал на выходе. Глобальное состояние элемента определяет множество значений на его входах/выходах в единичный момент времени. Этих состояний немного: для элемента и-не таких состояний - 4.
0
Модератор
2131 / 1000 / 170
Регистрация: 23.07.2018
Сообщений: 3,349
Записей в блоге: 3
05.02.2021, 10:31
А чтобы сохранить на какое-то время "предыдущее" состояние, нужно использовать защёлки на выходе или на входах.
0
Эксперт .NET
 Аватар для Usaga
14741 / 9515 / 1364
Регистрация: 21.01.2016
Сообщений: 35,908
05.02.2021, 12:23
Цитата Сообщение от CoderHuligan Посмотреть сообщение
И поэтому его учить не надо? Ну смешно же..
Смешно это слушать от непрограммиста о важности изучения ненужных вещей.

Цитата Сообщение от CoderHuligan Посмотреть сообщение
Да увидите.
Не давайте обещаний, которые не можете выполнить. Вы WinAPI уже выучили, чтобы морской бой писать?
0
 Аватар для CoderHuligan
1753 / 1019 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
05.02.2021, 12:55
Цитата Сообщение от Usaga Посмотреть сообщение
Вы WinAPI уже выучили, чтобы морской бой писать?
Ну, хорошо, ну написал я морской бой, показал свой код, что дальше? Кто-то же обещал свой вариант сделать. А мой код будет обоср.н как и обычно. Зачем мне парится, чтобы меня в очередной раз обоср.и? Но, я его сделаю, только не лично для вас или других хейтеров.

Добавлено через 44 секунды
Цитата Сообщение от Usaga Посмотреть сообщение
Смешно это слушать от непрограммиста о важности изучения ненужных вещей.
Какие критерии программиста и не программиста вы знаете?

Добавлено через 13 минут
Цитата Сообщение от politoto Посмотреть сообщение
А чтобы сохранить на какое-то время "предыдущее" состояние, нужно использовать защёлки на выходе или на входах.
Достаточно одной "защелки" - переменной, которая будет содержать флаг конкретного состояния. Если их 4, то одно из 4-х. Предположим, что у нас есть функция, которая может сохранять свое состояние. Перед своим выполнением она проверяет флаг и переходит в состояние определяемое флагом (в то состояние в котором она была перед вызовом). Она продолжает работать в этом состоянии или переходит в новое и остается в нем, если входные параметры заставляют её изменить свое прошлое. Если обычные функции как тупые амебы ничего не знают ни о прошлом, или возможном будущем, то наша знает, а значит она гораздо умнее амёб и может жить самостоятельной жизнью, то есть - иметь свое состояние.
0
 Аватар для zeroalef
200 / 236 / 33
Регистрация: 29.03.2019
Сообщений: 667
05.02.2021, 13:51
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Сейчас от ооп все движутся в функциональную сторону.
Это все масло масляное. Во-первых, укажите примеры и объясните почему они по вашему мнению ошибочны, излишни и т.д. а то "движутся в ... сторону" это смехотворная форма выражения мыслей. Попросту демагогия. Во-вторых, чистых функциональных языков "раз два и обчёлся" и языки семейства лисп к ним не относятся. Я напомню, вы разъясняете именно то что по вашему мнению в этих языках не правильно. Так что мой вопрос остается открытым: когда вы утверждаете что "лисп прячет состояния", что вы имеете ввиду? Примеры приветствуются.
Цитата Сообщение от CoderHuligan Посмотреть сообщение
А там, как бы не приветствуются переменные как класс
Safety знаете ли. Сишные баги уже пол века дрейфуют.
Цитата Сообщение от CoderHuligan Посмотреть сообщение
А функциональщина прячет его, делает его неявным, не пытается сохранить его.
Это похоже на то как маленький ребенок пытается что-то объяснить, но на своем, только ему понятном языке.
Цитата Сообщение от CoderHuligan Посмотреть сообщение
необходимо рекурсивно что-то сделать со всеми вытекающими
Напоминаю вам что цикл это рекурсия, которая в общем виде выгляlит так https://www.cyberforum.ru/cgi-bin/latex.cgi?f\(n_{i}\)=f\(n_{i-1}\).
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Императивный подход позволяет сразу переходить из состояния в состояние просто контролируя глобальный индикатор.
Контекст повторно не напоминаю. Он императивен чуть менее чем полностью, так что к чему был весь этот спич непонятно.
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Обманчива эта простота.. Дейкстра мечтал
Во-первых не обманчива и вы просто не знаете о чем пишете. А во-вторых, Дейкстра (мы так его называли) пионер своего времени. Пионер сегодняшнего времени это Маск. Чувствуете? Фокус поска будущего сместился. Сегодня будущее -- это квантовые вычисления. Возвращайтесь в реальность.
Цитата Сообщение от CoderHuligan Посмотреть сообщение
оэтому ему пришлось избавится от goto, однако это привело к тому, что листинг программы стал переполнен вызовами различных функций необходимых только для того, чтобы скрыть недостатки структурного подхода. Это привело к функциональной парадигме когда функции подменили собой все..
Хватит уже бреда. Ознакомьтесь с матчастью или смените тему на ту где вы хоть как-то компетентны. Цитата:
The lambda calculus, developed in the 1930s by Alonzo Church, is a formal system of computation built from function application. In 1937 Alan Turing proved that the lambda calculus and Turing machines are equivalent models of computation,[33] showing that the lambda calculus is Turing complete.
Цитата Сообщение от CoderHuligan Посмотреть сообщение
А воз и ныне там
Воз едет. Вы не хотите быть в нем.
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Например, редактор AkelPad был написан на чистых апи
Это эталонное ненужно? Их вебморда даже https не умеет и они на sourceforge. В минимализме конечно соревноваться можно, но до поры до времени. Пока ваш проект состоит из пяти файлов.
0
 Аватар для CoderHuligan
1753 / 1019 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
05.02.2021, 14:43
Цитата Сообщение от zeroalef Посмотреть сообщение
Во-вторых, чистых функциональных языков "раз два и обчёлся" и языки семейства лисп к ним не относятся.
Вики с вами не согласна.
Цитата Сообщение от zeroalef Посмотреть сообщение
Так что мой вопрос остается открытым: когда вы утверждаете что "лисп прячет состояния", что вы имеете ввиду? Примеры приветствуются.
Не только Лисп - имя им легион. Упрятывание состояний началось со структурной парадигмы - с Алгола. В старых бейсиках состояния были явны - это по сути метки. Еще Кнут писал, что метка это суть чистая абстракция, так как имеет имя. А то, что имеет имя есть абстракция. То что не имеет имени абстракцией быть не может. Вирт полностью убрал метки, а значит избавился и от абстракций состояний. Дальше - больше, приняв ложный курс мы пришли к ооп, однако начали понимать что уткнулись в тупик. Как заведенная игрушка постоянно бьется лбом об стену пока заряд не кончится. Дейкстра был умный дядька и в конце концов допер, что нужно иметь отдельные переменные для обозначения абстрактных состояний. То есть через атеизм-отрицание goto пришел к богопознанию по сути тех же меток (хотя и молчал про них). Зато ооп костерил не по детски.
Структурная парадигма - ненаучна, а под автоматы подведена строгая математика. А где автоматы, где машина Тьюринга, там и переходы, там и метки.
Цитата Сообщение от zeroalef Посмотреть сообщение
Чувствуете? Фокус поска будущего сместился. Сегодня будущее -- это квантовые вычисления.
Возвращайтесь в реальность: будущее это - автоматы.
Цитата Сообщение от zeroalef Посмотреть сообщение
Ознакомьтесь с матчастью
Через костыли можно эмулировать все, но это будет не ходьбой на своих двоих а ковыляние на костылях.
0
88 / 108 / 6
Регистрация: 16.04.2019
Сообщений: 451
Записей в блоге: 4
05.02.2021, 15:04
Цитата Сообщение от kirsech Посмотреть сообщение
С какого языка начать программирование Pascal или Python?
С Rust(а).
1
Модератор
2131 / 1000 / 170
Регистрация: 23.07.2018
Сообщений: 3,349
Записей в блоге: 3
05.02.2021, 15:21
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Упрятывание состояний началось со структурной парадигмы - с Алгола. В старых бейсиках состояния были явны - это по сути метки. ...
. Вирт полностью убрал метки, а значит избавился и от абстракций состояний.
В Algol-60 были метки и их можно было передавать в процедуры как параметры.
В Pascal Вирт даже добавил ключевое слово label.
А в исходном BASIC отдельных меток не было. Можно было ссылаться на инструкции по номеру строки в файле DTSS. Но номера строк были у всех пользовательских файлов в этой ОС. Независимо от того, на каком языке написана программа: на Algol, FORTRAN или это просто файл с вопросами к экзамену, который подготовил преподаватель колледжа. Просто без номеров строк редкатировать многострочные файлы с телетайпа (телепринтера) очень неудобно. Примерно ту же роль играли номера в крайних правых колонках перфокарт исходной колоды программы, которые использовались в те времена в системах пакетной обработки. В 1980-х изобретатель BASIC добавил в язык "структурные" управляющие конструкции, а надобность в номерах строк отпала из-за повсеместного распространения полноэкранных текстовых редакторов.
https://en.wikipedia.org/wiki/True_BASIC
0
 Аватар для zeroalef
200 / 236 / 33
Регистрация: 29.03.2019
Сообщений: 667
05.02.2021, 15:32
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Вики с вами не согласна.
Враньё
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Упрятывание состояний началось со структурной парадигмы - с Алгола.
Короче вопрос "что значит прятать состояния" останется без ответа. Я понял.
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Еще Кнут писал, что метка это суть чистая абстракция, так как имеет имя. А то, что имеет имя есть абстракция. То что не имеет имени абстракцией быть не может. Вирт полностью убрал метки, а значит избавился и от абстракций состояний. Дальше - ...
Функция/процедура имеет имя. Функция/процедура есть абстракция. Вирт не избавился от функций/процедур, а значит не избавился от абстракций. Дальше - ... ваши ложные выводы из ложных предпосылок.
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Дейкстра был умный дядька и в конце концов допер, что нужно иметь отдельные переменные для обозначения абстрактных состояний. То есть через атеизм-отрицание goto пришел к богопознанию по сути тех же меток
словесный набор какой-то
Цитата Сообщение от CoderHuligan Посмотреть сообщение
А где автоматы, где машина Тьюринга, там и переходы, там и метки.
Еще раз:
The lambda calculus, developed in the 1930s by Alonzo Church, is a formal system of computation built from function application. In 1937 Alan Turing proved that the lambda calculus and Turing machines are equivalent models of computation,[33] showing that the lambda calculus is Turing complete.
Цитата Сообщение от CoderHuligan Посмотреть сообщение
будущее это - автоматы
Автоматы -- это вчера. Это всевозможные виртуальные машины, backend'ы компилятов различных языков, машинный код в конце концов. Но как я уже говорил выше, вы не имеете к этому никакого отношения. Уже сегодня (и тем более завтра) -- это другая математическая модель вычислений. Qubit не имеет одного состояния, он одновременно в двух состояниях.

Не по теме:

За попытку вброса атеизм-отрицание натянутая троечка.

0
 Аватар для CoderHuligan
1753 / 1019 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
06.02.2021, 10:40
Цитата Сообщение от politoto Посмотреть сообщение
В Pascal Вирт даже добавил ключевое слово label.
Ну, положим, это не Вирт сделал, а Борланд.
Цитата Сообщение от politoto Посмотреть сообщение
А в исходном BASIC отдельных меток не было. Можно было ссылаться на инструкции по номеру строки в файле DTSS.
Были явные (прописанные в листинге) номера. Номера, которые можно было автоматически упорядочивать.
Да и не номерами строк файла они были, а номерами строк с операторами программы, которые задаются самим программистом.
Цитата Сообщение от politoto Посмотреть сообщение
Просто без номеров строк редкатировать многострочные файлы с телетайпа (телепринтера) очень неудобно.
Да не поэтому, а потому, что на этим номера-метки можно было явно делать переход из любой точки программы.
Цитата Сообщение от politoto Посмотреть сообщение
В 1980-х изобретатель BASIC добавил в язык "структурные" управляющие конструкции, а надобность в номерах строк отпала из-за повсеместного распространения полноэкранных текстовых редакторов.
Опять нет. Изобретателями бейсика был Куртс и Кемени. И от меток они не отказывались. Отказался от них изобретатель qbasic - Билл Гейтс, что б ему..., который полностью извратил чистую концепцию и создал диалект, который мало отличается от всех остальных языков.
Цитата Сообщение от zeroalef Посмотреть сообщение
Враньё
Что вранье? То, что Лисп функциональный язык?
Цитата Сообщение от zeroalef Посмотреть сообщение
Короче вопрос "что значит прятать состояния" останется без ответа. Я понял.
C
1
2
3
4
for (int i=0; i<n; i+=1)
{
    // тело
}
----
C
1
2
3
4
5
i=0;
myLoop:
if(i>=n)goto endMyLoop;
/*тело*/ i+=1; goto my loop;
endMyLoop:
Первый вариант прячет состояния, делает их неявными, второй нет.
C
1
h=foo( foo1(foo2(x), foo3(y)));
---
C
1
a=foo2(x); b=foo(y); c=foo1(a, b); h=foo(c);
Первый вариант прячет состояния, делает их неявными, второй нет.
Цитата Сообщение от zeroalef Посмотреть сообщение
Функция/процедура имеет имя. Функция/процедура есть абстракция. Вирт не избавился от функций/процедур, а значит не избавился от абстракций. Дальше - ... ваши ложные выводы из ложных предпосылок.
Функции не могут подменить собой состояния.
Цитата Сообщение от zeroalef Посмотреть сообщение
Еще раз:
А еще есть алгориФмы Маркова, которые тоже могут реализовать любой алгоритм. Вопрос только какими издержками? Формальная модель машины Тьюринга лежит в основе всех процессоров, а под алгорифмы маркова и под лямбды необходимо создавать специализированные процессоры, и я даже не знаю возможно ли это, а без этого все это бессмысленно.
Цитата Сообщение от zeroalef Посмотреть сообщение
Автоматы -- это вчера.
гы гы гы

Добавлено через 41 минуту
Еще пример. Это касается следствий упрятывания.
Сейчас нам мало запомнить имя функции, необходимо запомнить и порядок следования её параметров. Потому что:
C
1
int foo(int a, int b);
Объявили так поэтому, чтобы делать так:
C
1
foo(3, 5);
при вызове, компилятор должен знать порядок аргументов. А программист помнить этот порядок!
Между тем, если делать так:
C
1
a=3; b=5; foo(a, b);
то в принципе, для компилятора неважно, в каком порядке расположены аргументы, так как ему важно теперь знать лишь имена аргументов. (это не касается языка си)
C
1
2
3
4
int foo(int a, int b)
{
   return a+b;
}
foo(a, b); и foo(b, a); одинаково были бы работоспособны если бы мы отказались от подстановок, а работали бы только с явными ячейками памяти. Нагрузка на мозг уменьшилась бы в разы.
Так раньше было в бейсике. gosub можно было делать на блок, который работал с уже предопределенными переменными. Если придумать гипотетический язык, в котором функция работает только со своими структурами данных, то нам не важен становится не только порядок аргументов, но и их наличие вообще. Можно делать как это было в языке Фокал:
a=3; b=5; do 20.01; - "вызов функции", которая работает со своими собственными переменными.
0
 Аватар для zeroalef
200 / 236 / 33
Регистрация: 29.03.2019
Сообщений: 667
06.02.2021, 17:01
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Что вранье? То, что Лисп функциональный язык?
Вранье ваш ответ на моё высказывание. Вранье то что лисп -- язык. И что этот мифический язык функциональный. Короче враньё всё что вы утверждали касательно лиспа и функциональных языков.
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Первый вариант прячет состояния, делает их неявными, второй нет.
Странно что вы не обозвали кретинами тех кто придумал макроподстановки в ассеблерах. И да, для одного цикла два goto конечно маловато будет.
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Первый вариант прячет состояния, делает их неявными, второй нет.
При чем здесь языки? Здесь автор "прячет состояния", а не язык. В целом я понял, сначала вы сами не поняли что сказали чепуху, а когда приперло ее разъяснить, то выдумали еще большую чепуху продемонстрировав идиотские примеры. /ниачём
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Функции не могут подменить собой состояния.
Все уже поняли что вы фанат Гуревича. Однако попытки его последователей переписать jvm провалились.
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Объявили так поэтому, чтобы делать так
Прототипы в си были введены по совсем другим причинам. Но вы об этом конечно не знали и опять вывели какой-то несвязный больной мыслительный поток.
-----------------------------
Давайте зайдем с другой стороны. Для чего программисты пишут программы?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.02.2021, 17:01

С какого языка лучше начать программировать: Pascal или Python?
В свободное от школы время планирую начать заниматься изучением одного из языков программирования, и стою перед выбором: какой язык лучше...

С какого языка стоит начать обучение? С языка программирования Pascal?
Здравствуйте. Хотелось бы больше знать о компьютерной безопасности, в частности, о Dos/DDos-атаках. Не знаю ни одного языка...

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

С какого языка начать?
Здравствуйте. Подскажите, какой язык начать изучать: Visual Basic, а потом C#? Или лучше сразу начать изучать C#? Просто я хочу изучать C#,...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
120
Ответ Создать тему
Новые блоги и статьи
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek ВВЕДЕНИЕ Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru