LINUX.ORG.RU

Сколько зарабатывает Pascal программист?

 , , ,


6

6

Здравствуйте. Я хочу узнать сколько можно заработать в 2022 году, зная Object Pascal и почему он не стал мейнстримным языком программирования. Почему он только изучается в школах и почему именно Pascal

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

Питон становится похож на руби, раст на кресты

Смишно. Раст после создания прототипа сразу же начали писать ушибленные на голову крестовики, которые немедленно внесли в ЯП все родовые болячки крестов, типа «этот язык недостаточно сложен и слишком быстро компилируется — надо исправить».

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

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

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

А как ты хочешь писать авионику? :) Как на джаве, отключив голову? Не выйдет

Когда я в очередной раз узнаю, как пишут авионику и автомобильный эмбед, то мне хочется летать только на старых 737 и ездить на старом мерсе, где стекло на фаре меняется ключем и отверткой. Или в банке, которому я год назад зарепортил баг с детальными инструкциями по его устранению — до сих пор не исправлен. От того, что циклы становятся дольше, софт сам собой становится надежнее, но не перестает быть таким же всратым. В идеале для разработки особо надежных систем требуется специфичное железо и инструменты программирования, но по факту используют инструменты, за многие годы доказавшие свою ненадежность.

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

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

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

То есть, берёшь вместо FPC например Pascal.ABC и, внезапно, программа выдаёт другой результат…

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

В том числе позволяющие одновременную запись и чтение.

Запись в сортируемую последовательность при соблюдении гарантии корректности результата сортировки? Это как?

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

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

Умоляю. Назовите хотя бы одно место где бы вы работали и конкретно этим занимались?

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

Покомпилил им тестов, скорость на уровне фортрана. Иногда до 5 раз медленее си.

Ты явно что-то делаешь не так, раз скорость исполнения как у Фортрана, но в 5 раз медленнее Си. Это очень надо постараться, чтобы на Фортране получить код в 5 раз медленнее Си, если это не ввод-вывод.

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

Ой, это всё фигня. В промке тот, кто прогу ПЛК пишет, обычно, сам себе и архитектор, и разраб, и тестер. Хрень, которая может выпилить людей, тестится хуже, чем формочка в банке.

Я сперва думал, что только у нас так колхозно работают, пока к нам на ПНР итальянский паренёк не приехал, который при мне половину программы написал. В исходном варианте у него был кое-как описан ввод-вывод с перепутанными каналами (может схема менялась, конечно). А контора его – чуть ли не лидер рынка в своей области :) После этого отлегло.

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

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

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

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

То есть, берёшь вместо FPC например Pascal.ABC и, внезапно, программа выдаёт другой результат…

PascalABC.net — это другой язык, не Pascal. Он малость совместим с паскалем, но далеко не полностью и разработчики даже не планируют это чинить.

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

Так и язык уже совсем другой. Разные диалекты. Иногда совместимость обеспечивается дополнительными флагами.

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

PascalABC.net — это другой язык, не Pascal. и разработчики даже не планируют это чинить

Это ужас в квадрате. В смысле, что он называется «реализация языка Паскаль» (так на http://pascalabc.net/). Всё равно, что я напишу свою реализацию языка Си, но && в ней будет вычисляться не по короткой схеме.

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

Запись в сортируемую последовательность при соблюдении гарантии корректности результата сортировки? Это как?

Lock-free пузырек можно сделать даже на непрерывном сишном массиве. Другое дело, что это неэффективно, а вот на более продвинутых структурах это можно сделать и вставками (для чего нужна структура с эффективной вставкой).

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

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

А как там пишется map<string, map<string,int>> ?

Так TDictionary<string, TDictionary<string,int32>>;

program Project1;
{$MODE DELPHI}
{$APPTYPE CONSOLE}

uses
  SysUtils, Math, Types, Generics.Collections, Generics.Defaults;

var
  Dict: TDictionary<string, TDictionary<string, int32>>;
  Test: TDictionary<string, int32>;
  Found: TDictionary<string, int32>;
begin
  Dict := TDictionary<string, TDictionary<string, int32>>.Create;
  try
    Test := TDictionary<string, int32>.Create;
    Dict.AddOrSetValue('test', Test);

    Dict.TryGetValue('blah', Found);
    Writeln(nil = Found);

    Dict.TryGetValue('test', Found);
    Writeln(Test = Found);
  finally
    FreeAndNil(Dict)
  end;
  Readln;
end. 

Lazarus screen: https://imgur.com/a/yNg4g1Q

Docs: https://docwiki.embarcadero.com/CodeExamples/Sydney/en/Generics_Collections_TDictionary_(Delphi)

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

Я сперва думал, что только у нас так колхозно работают, пока к нам на ПНР итальянский паренёк не приехал, который при мне половину программы написал. В исходном варианте у него был кое-как описан ввод-вывод с перепутанными каналами (может схема менялась, конечно). А контора его – чуть ли не лидер рынка в своей области :) После этого отлегло

На самолетах летаешь?

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

Тогда хорошо. Один недостаток Паскаля устранён.

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

Ну давай почитаем:

It should be noted that some implementors of Pascal compilers have, like you, questioned this restriction, and decided to allow alphanumeric labels as a language extension. For example:

Turbo Pascal (mentioned on page 48)
Compaq Pascal (Section 3.2, noting that this is provided "as an extension".)
Free Pascal (Though, because goto is "evil", you have to explicitly opt in to allowing it with a compiler directive.)

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

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

А вот если старше пары десятков лет, ВОЗМОЖНО, стоит посмотреть на что-то новое.

Для чего?

бумеры

Хорошие машины, да.

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

Да это нормально. Я когда-то писал на заказ лабораторки по программированию, смотрел в методички по Сишечке и разбивал себе лицо фейспалмом. И была дилемма — сделать нормально, но чел мог не получить зачет, либо делать как там написано, плюясь от того, чему учат.

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

берёшь вместо FPC например PascalABC, и внезапно, программа выдаёт другой результат…

Для другого результата надо постараться специально ;)
Умолчанием давно является короткая схема, а если ее меняете, то смотрите, что берёте ;) (PascalABC.NET по другому не умеет):
http://pascalabc.net/downloads/pabcnethelp/index.htm?page=LangGuide/Operation...

Да и в целом пример с PascalABC.NET плохой, они на таких «глупостях» как поддержка синтаксиса языка и совестимости не заморачиваются.

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

К вам, естественно. Линус пёрнул в лужу как у него часто бывает, а принесли же его сюда в качестве авторитета вы.

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

Другое дело, что никто не знает, что такое «IDE нормальные»

Все просто, это IDE от JetBrains, других не существует, поэтому опыт с PyCharm это уже что то.

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

главу с керниганом

Кернинган, если что, не программист даже. От силы писатель анскильный. Программистами там были Ричи и Томпсон.

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

Например, попытайся за компилятор ответить на вопрос «что значат эти строки?»:

А что они значат, рассказывай?

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

Lock-free пузырек можно сделать даже на непрерывном сишном массиве.

И? При последнем проходе пузырька изменился кусок массива, который уже пройден. В результате функция сортировки завершается, а массив неотсортирован.

я имел в виду одного писателя, не блокирующего читателей

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

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

Речь шла именно о паскале (который для консольных программ в основном), а не о delphi.

Но поцкаль без дельфи и формошлёпства не нужен вообще.

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

Джава хоть и статическая, но такой же тормоз.

Жабка - это язычок под вм. Как её можно вообще сравнивать с компилируемыми языками, это разные инструменты.

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

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

Эволюция инструментов, это процесс, в котором оптимизировать можно совсем не много вещей. Эволюция ЯП была очень бурная, их было много, с совершенно разной логикой, разными подходами, и разные языки копировали удачные решения друг у друга. Это многокритериальная оптимизация, но главным, доминирующим критерием является стоимость создания продукта. Соотв. эта стоимость и определяет ниши: для веба это JS, для железа это C, для проектов со сложной логикой и математикой это С++, для простой автоматизации рутины это Python, есть свои ниши и у Java, и у Lua, и у Ada, и у многих других.

Со временем восприятие у людей меняется, и они начинают иначе смотреть на проблемы разработки и организации кода. Это приводит к изменениям в языке, простые языки можно полностью переделать или создать им замену, как это произошло с PHP, но тяжелые языки, у которых большой технологический долг, быстро не развернуть, как невозможно внезапно изменить на 90 градусов движение тяжелого тела. Поэтому они меняются постепенно. С++ 2022 года очень сильно отличается от С++ 1990 года: на С++ в 2022 году можно писать гораздо более понятный, чистый, ясный, безопасный код, чем на С++ в 1990 году. Но, конечно, можно писать как раньше, а можно еще и хуже, с учетом новых инструментов, но это, имхо, уже проблема программиста. Язык дает возможности, а уж как ими распоряжаться решает человек.

А так то задним умом все сильны.

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

Макском, тебе за реакции на ЛОРе не стыдно? Тут серьезная публика, между прочим, есть: Ринат, Евгений-астроном и так далее.

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

Borland, который активно развивал экосистему паскаля, профакапил рынок и вымер.

Именно. Они потом его продали, и пару раз переименовывали. Но развития уже не было.

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

Одна знакомая мне фирма использовала Borland C++ и VCL ради системы создания объектов. Я им показал как то же самое прекрасно делается и в Qt (мета-классы кажется, давно это было), но когда они начинали такое они видели лишь в VCL

Насколько известно, сейчас они перешли либо на Qt либо на netcore, и между прочим потом, что заказчик массово захотел наконец Linux (основная тема сайта linux.org.ru), а Linux в борланде имел какую то странную второстепенную поддержку, а вне x86-процессоров и вовсе не живой

I-Love-Microsoft ★★★★★
()

ЗП программиста зависит не от ЯП а от знания предметной области и умения реализовывать необходимые в этой области фичи. В этом смысле что паскаль что плюсы большого значения не имеют.

AntonI ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

а Linux в борланде имел какую то странную второстепенную поддержку

Она и щас странная, но она есть :) На дебаркадере.

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

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

Список недостатков сможешь написать?

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

В паскале как в одном из первых изучаемых языков нет ничего плохого, главное этим не увлекаться. Но при наличии возможности лучше его заменить, например, на Python

Вот блин нет, не надо его питоном заменять. Питон это очень «неявный» язык с кучей «тонких моментов» в простейших операциях. Для обучения штудентов это не годится прям совсем. Кресты, го, недораст, жаба - ок, но не питон/жс.

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

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

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

Нормально питон идёт как первый яп. Всяко лучше бейсика

Ну да, ну да. Объясни школяру простыми словами что происходит если имя переменной начать с __, ну или как резолвятся импорты и почему у него в тесте метод/константа отказалась переопределяться.

И это даже если не лезть в шаманство с __dict__, слотами, getattr, сишными либами, производительностью и прочей фигнёй.

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

Питон мультипарадигменный яп. Совершенно не обязательно объяснять начинающему все его фичи.

Так основная сложность для начинающих это разделение на изменяемые/неизменяемые объекты, но и это можно обойти. Зато можно демонстрировать ооп и фп.

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

Это все не должно пугать будущего программиста. Ну и сейчас очень многие стартуют с питона и видно, что это не проблема.

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

Зато можно демонстрировать ооп и фп.

На питоне то? Только как «Вредные советы», чисто поржать. Жаль, что начинающие могут не понять юмора.

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

На питоне ооп более внятное чем на плюсах вообще то.

Смех без причины признак дурачины, а дуракам ооп и фп воопще без надобности.

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

Это все не должно пугать будущего программиста. Ну и сейчас очень многие стартуют с питона и видно, что это не проблема.

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

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

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

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