LINUX.ORG.RU
решено ФорумTalks

Развитие языков программирования

 ,


0

1

Привет. Если я где-то ошибся, поправьте.
Изначально, был язык нулей и единиц - релейный.
Следующий язык мнемоник и макросов - ассемблер.
Далее (по определению) - машинно независимый язык - C
Далее идут объектно-ориентированные языки.
Следующий - визуальный язык (fbd)
Следующий, чем сейчас занимаются школьники?

Следующий - визуальный язык (fbd)

Нет.

hateyoufeel ★★★★★
()

Не совсем так. После базовых ассемблеров есть макроассемблеры. А потом все сложно. Smalltalk и сишка появились в одно время, так что говорить что С старше чем ООП странно. С другой стороны уже был фортран, был на голову отбитый APL, и был кобол который есть и будет. И кстати некоторые из них были гвоздями прибиты к машине под которую писались

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

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

Следующий, чем сейчас занимаются школьники?

Фапают. Программируют только мужуки. И визуальное программирование мы освоим поголовно ой как не скоро...

xwicked ★★☆
()

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

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

А потом все сложно.

А главное – непонятно, какую практическую ценность имеют все эти попытки классификации лепёшек мамонтов.

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

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

Вот графические языки. Например для станков ladder diagram это графический язык? Если да то он ппц старый, ещё до всех этих цифровых вещей. Или какой-нибудь flavor того же кобола который был под конкретный мейнфрейм - он машинонезависимый или таки нет? Да и что далеко ходить - swift платформонезависимый или нет? на нем кроме как под яббел ничего не напишешь

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

Почти.

Изначально был просто машинный язык. Он не совсем язык нулей и единиц, он скорее язык инструкций. Прочитать регистр 1, очистить регистр 2, и так далее.

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

Эти двое считаются низкоуровневыми языками, потому что описывают прямой код для исполнения процессором без какой-либо доп. обработки. Каждый операнд - каждый такт (упрощенно говоря, но не всегда).

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

Он стоит на одной ступени с любым компилируемым языком, будь то пацкаль, бейсик, или раст.

Интерпретируемые языки программирования - соответственно те ЯП, где код не компилируется в низкоуровневый, а исполняется интерпретатором (java, python, perl, php и тд). Хотя иногда для повышения скорости, прога может компилиться в байт-код, но это так ... костыли.

Все остальное - это просто надстройки над надстройками. Тебе никто не мешает загрузить ядро на машинном коде, запустить на нем PHP написанный на С, и написать на этом PHP обработчик например HTML :) Чем будет в данном случае HTML - думай сам ;)

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

Да и что далеко ходить - swift платформонезависимый или нет? на нем кроме как под яббел ничего не напишешь

Тоже не понравился?

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

swift платформонезависимый или нет? на нем кроме как под яббел ничего не напишешь

https://download.swift.org/swift-5.7-release/windows10/swift-5.7-RELEASE/swift-5.7-RELEASE-windows10.exe

https://download.swift.org/swift-5.7-release/centos7/swift-5.7-RELEASE/swift-5.7-RELEASE-centos7.tar.gz

fsb4000 ★★★★★
()

Следующий - это, говорят, GitHub Copilot: школьник пишет, что хочет получить, и псевод-ИИ подставляет готовый код, надерганный из Open Source проектов.

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

Интерпретируемые языки программирования - соответственно те ЯП, где код не компилируется в низкоуровневый, а исполняется интерпретатором (java, python, perl, php и тд). Хотя иногда для повышения скорости, прога может компилиться в байт-код, но это так … костыли.

жава компилится в бинарники, а костыли это слайсить массивы самостийными алгоритмами в синтаксисе «на зло нормальному и наоборот»

Syncro ★★★★★
()

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

Далее идут объектно-ориентированные языки.

Парадигма не имеет тут никакого отношения к делу, это ниши с разными возможностями и условиями. Нельзя юзать специфичные для проца инструкции без вставок на ассебмлере, нельзя делать шахер-махер с памятью без биндингов к сишным либам. С другой стороны сложно или не возможно абстрагироваться от плясок с памятью, если не использовать язычок с вм. А как кто там дрочит ООП/ФП/etc - это их личные половые трудности.

Следующий - визуальный язык (fbd)

Ох, лол. Вбей в местный поиск «метапрог»
На нижнем уровне может быть человечеству хватит яиц и что-то сделают под VILW-процессоры и вообще как-то будут двигаться в сторону параллельных вычислений. На верхнем уровне будут двигаться куда-то в сторону распределённых вычислений, если, конечно, у всей этой конченой индустрии хватит мозгов на что-то большее, чем переизобретать велики. Вот сейчас опять заговорили про nocode/lowcode, завоняло дельфи из нулевых и недогнившим вротпрессом, а ты там что-то про прогресс.

Следующий, чем сейчас занимаются школьники?

Да, всё будут писать на питухоне, как нынче все деды пишут на поцкале или похапе. Относиться к питухонерам и их коду будут точно также, если не хуже.

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

Следующий должен собрать все их плюсы и отбросить все минусы.

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

VILW-процессоры

Чем тебе GPU не VILW? Тут скорее нужно двигаться в сторону специализированных процессоров на общей шине со своей локальной памятью и быстрым кешем. В частности DPU на сетевухах вон уже мутят.

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

Функциональное программирование забыл.
А оно появилось раньше ООП.

Следующий, чем сейчас занимаются школьники?

Не поверишь, но основное занятие школьников - выпендриться перед противоположным полом. 😏

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

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

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

В более университетских кругах десятилетиями продолжаются исследования типизации в ЯП, выпускают экспериментальные компиляторы, пишут диссертации, но до продакшена ещё видимо далеко. Как отправную точку можешь погуглить dependent или, ещё лучше, сразу liquid types.

Более практические «инновации» сейчас происходят на стороне фреймворков. Нынешнее поколение JS-фреймворков например старается отразить современную микросервисную архитектуру и предлагает типовые решения сразу для фронта и бэка (если быть точнее и микросервиснее, то не бэка, а BFF—backend for frontend).

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

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

Школьники с преподами не осиливают "2" + 1 и TAMWTDI в принципе. Поэтому у них везде пыхтон.

crutch_master ★★★★★
()

Далее (по определению) - машинно независимый язык - C

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

Далее идут объектно-ориентированные языки

Они идут не далее. Они были параллельно, как исследовательские языки.

Следующий - визуальный язык

Нет никакого следующего. Оптимально-компромиссное решение уже найдено. Дальше только всякий сахарок. Во всяком случае пока не появится принципиально другая архитектура компа.

no-such-file ★★★★★
()
Ответ на: комментарий от fsb4000

И там прям можно на свифте написать скажем вебсервер и крутить его на дебиане? Или написать можно но пускать только на яббле?

swift-5.7-RELEASE-centos7.tar.gz

Чуваков явно не смутил EOL.

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

Тоже не понравился?

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

Кстати интересно, можно ли назвать языком общего назначения пистон или жабоскрипт? «Общего» же это «под любые задачи», но скажем дрова на них писать надо быть совсем отбитым, и вообще не факт что выйдет (ну там через wasm/cython наверное можно, хз).

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

Чем тебе GPU не VILW?

Вилв, а что для них сделали? Так же и пишут всё на си, да оптимизируют.

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

И там прям можно на свифте написать скажем вебсервер и крутить его на дебиане?

Да, скорее всего.

На Windows свифт генерирует экзешники.

Там единственно некоторых либ нет. GUI либ Apple, может ещё каких-то.

Стандартная библиотека доступна на Windows/Linux, сторонние тоже если авторы этих сторонних либ это сделали.

fsb4000 ★★★★★
()

Следующий - визуальный язык

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

Было бы нечто новое визуальное, с учётом ошибок и недочётов всяких VB/Delphi - вэлкам. Нету же. Вообще, чего-то нацеленного именно на радикальное упрощение жизни кодеру нет, в красноглазом сообществе это считается чем-то плохим. Про нейросетки, которые что-то там помогают писать слышал, но тема явно сырая и не массовая.

yu-boot ★★★★
()

Изначально… Далее… Следующий

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

goingUp ★★★★★
()

сейчас царят языки максимально неудобные для всего. Python и Rust как венцы такого. Нет и не предвидится задач и программно-аппаратных платформ для которых они торт. Но модны и популярны.

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

Кстати интересно, можно ли назвать языком общего назначения пистон или жабоскрипт? «Общего» же это «под любые задачи», но скажем дрова на них писать надо быть совсем отбитым

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

anc ★★★★★
()

Следующий - визуальный язык

Спасибо, поржал!

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

Школьники с преподами не осиливают «2» + 1 и TAMWTDI в принципе. Поэтому у них везде пыхтон.

Чем бы дитя ни тешилось, лишь бы клей не нюхало.

ЗЫ ты лжёшь.

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

И там прям можно на свифте написать скажем вебсервер и крутить его на дебиане? Или написать можно но пускать только на яббле?

Да, можно. Макохост не нужен для запуска, у тебя будет на выходе обычный статически слинкованный бинарник. Яббл как раз и хочет использовать Свифт на бэке для подобных задач.

Никакого cocoa и UI библиотек под Линукс конечно из коробки нет, но пионеры пытаются и с этим что-то сделать.

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

В месте непроходимой тупости школьников.

Это система. Это понимать надо. Учат класс, а не умных школьников. Умные школьники не нужны. Массовое образование рассчитывается на средних и тупых, а не на умных. Умный, конечно, поймёт про приведение типов. А весь класс нихера не поймёт вообще. А когда ты покажешь одно и тоже 3-мя способами, большинство вообще уйдёт в отказ, в то время как стояк случится только у одного-двух из всей школы.

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

Далее (по определению) - машинно независимый язык - C

Там до сишки всякие фортраны, алголы, коболы царствовали, фортран так то до сих пор живёт и его куча сишных да и не только сишных проектов юзает, даже питон его юзает, т.к. numpy это сишная обёртка над BLAS и LAPACK, потому как BLAS и LAPACK не осилили на сишке написать. Да и лисп будучи ООП языком уже был и очень долго был (лисп в 58 появился, а эта ваша хипстерская сишка только в 72)..

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

нельзя делать шахер-махер с памятью без биндингов к сишным либам

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

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

Для машинного обучения питон - торт (а на реализацию дробилки наплевать, она вообще на gpu зачастую на какой-нибудь куде). Альтернативы это java и Scala, но первая многословна, а вторая специфична.

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

И там прям можно на свифте написать скажем вебсервер и крутить его на дебиане? Или написать можно но пускать только на яббле?

https://swift.libhunt.com/libs/webserver

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

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

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

Да и лисп будучи ООП языком уже был и очень долго был (лисп в 58 появился, а эта ваша хипстерская сишка только в 72)

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

no-such-file ★★★★★
()
Ответ на: комментарий от crutch_master

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

peregrine ★★★★★
()

Ыункциональщики скорбно качают головой. Ну да ну да, нас не существует…

AVL2 ★★★★★
()

Типа да 2е поколение и дальше это трансляторы и их совершенствование уход от аппаратуры к виртуальной машине.

5е поколение это то что у тс визуальное программирование, больше метаданные заполняешь руками или мышкой или еще как-то часто с визуализацией будь то форма ввода, печати, 3D модель. и т.п. Но все еще остается код который надо писать как реакцию на какие-то события, управлять последовательностью выполнения.

6е поколение возможно будет без написания кода. Кодо генерация достигнет такого уровня что самому код писать не надо будет совсем, ну и мета-данные будешь голосом задавать как в фанстических фильмах, кодить будет ИИ. :) А начем ИИ такое писать и на каком языке хз, все еще будут на Си … :)

cylon17
()

Следующий язык мнемоник и макросов - ассемблер.

Следующий – Планкалкюль.

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

Нельзя юзать специфичные для проца инструкции без вставок на ассебмлере

Разве для этого не достаточно знать как кодируются специфичные инструкции в используемом режиме проца? И как выполнить этот код?

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

Разве для этого не достаточно знать как кодируются специфичные инструкции в используемом режиме проца?

Ну знаешь и что? Как сделать такую вставку на луа/жс/пистоне/жабке? Есть ли смысл делать это там?

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