Телескопы покупают здесь


A A A A Автор Тема: Изучаю Паскаль. Присоединяйтесь.  (Прочитано 23218 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн GraY25

  • *****
  • Сообщений: 5 979
  • Благодарностей: 1023
  • Дифракционный_беспредел [____ Сергей Иванов ____]
    • Сообщения от GraY25
Re: Изучаю Паскаль. Присоединяйтесь.
« Ответ #540 : 05 Июн 2024 [01:12:54] »
Ну, вопрос был немного с подвохом, я прекрасно могу оценить количество строк.
И парсеры на Паскале писал, в "прошлой жизни".
Вот к примеру программка на Дельфях для построения графиков любой введённой функции.
Дело было ещё в институте на курсе "Конструирование компиляторов". Функция транслировалась в промежуточный "псевдо-байт-код" в массивах, который уже быстро исполнялся для каждой точки (алгоритм разработан самостоятельно).



Я просто хотел показать, как задача с калькулятором решается на Питоне:



Эти 2 строчки в принципе и всё. ;D
Сложность вводимого выражения/скобок, не ограничена.


• С14 HD [0.96] + HS F/1.9 @ CGE Pro
• С8 HD   [0.93] + HS F/2.1 @ ZWO AM5
• TS 152/900, WO 98FLT
Sun Hα  MoonAstroSeeing Bot

Оффлайн Karagy

  • *****
  • Сообщений: 1 147
  • Благодарностей: 36
    • Сообщения от Karagy
Re: Изучаю Паскаль. Присоединяйтесь.
« Ответ #541 : 05 Июн 2024 [01:29:36] »
Эти 2 строчки в принципе и всё. ;D
Потом юзер вводит выражение exec("import os; os.removedirs('/')") и ваш заказчик калькулятора попадает на деньги.
И что-бы такого не случилось - вам приходится писать простыню кода, как и в других нормальных калькуляторах.
Habr: Как правильно написать калькулятор на питоне с помощью еvаl()

Это не говоря о том что на клиентскую машину придётся устанавливать питон.
« Последнее редактирование: 05 Июн 2024 [01:34:57] от Karagy »

Оффлайн GraY25

  • *****
  • Сообщений: 5 979
  • Благодарностей: 1023
  • Дифракционный_беспредел [____ Сергей Иванов ____]
    • Сообщения от GraY25
Re: Изучаю Паскаль. Присоединяйтесь.
« Ответ #542 : 05 Июн 2024 [01:41:53] »
Да будет вам панику нагонять..
Защита от eval-инжекшена занимает всего несколько строк..

def eval_expression(input_string):
    code = compile(input_string, "<string>", "eval")
    if code.co_names:
        raise NameError(f"Использование имён запрещено.")
    return eval(code, {"__builtins__": {}}, {})
• С14 HD [0.96] + HS F/1.9 @ CGE Pro
• С8 HD   [0.93] + HS F/2.1 @ ZWO AM5
• TS 152/900, WO 98FLT
Sun Hα  MoonAstroSeeing Bot

Оффлайн Karagy

  • *****
  • Сообщений: 1 147
  • Благодарностей: 36
    • Сообщения от Karagy
Re: Изучаю Паскаль. Присоединяйтесь.
« Ответ #543 : 05 Июн 2024 [01:53:20] »
Эти 2 строчки в принципе и всё. ;D
Т.е. это уже оказалось не "и всё".

Оффлайн GraY25

  • *****
  • Сообщений: 5 979
  • Благодарностей: 1023
  • Дифракционный_беспредел [____ Сергей Иванов ____]
    • Сообщения от GraY25
Re: Изучаю Паскаль. Присоединяйтесь.
« Ответ #544 : 05 Июн 2024 [02:11:08] »
Т.е. это уже оказалось не "и всё".

Всё ещё 2 строчки)

while True:
    print(eval(x, {"__builtins__": {}}, {}) if not compile(x := input(), "<string>", "eval").co_names else False)
• С14 HD [0.96] + HS F/1.9 @ CGE Pro
• С8 HD   [0.93] + HS F/2.1 @ ZWO AM5
• TS 152/900, WO 98FLT
Sun Hα  MoonAstroSeeing Bot

Оффлайн Karagy

  • *****
  • Сообщений: 1 147
  • Благодарностей: 36
    • Сообщения от Karagy
Re: Изучаю Паскаль. Присоединяйтесь.
« Ответ #545 : 05 Июн 2024 [02:22:41] »
Две строчки и 100 мегабайт питона.

- Что потребуется?
- Десять тысяч баксов и шесть фотокарточек три на четыре!

Оффлайн GraY25

  • *****
  • Сообщений: 5 979
  • Благодарностей: 1023
  • Дифракционный_беспредел [____ Сергей Иванов ____]
    • Сообщения от GraY25
Re: Изучаю Паскаль. Присоединяйтесь.
« Ответ #546 : 05 Июн 2024 [02:30:58] »
Ну вы уж определитесь вам шашечки или ехать.
Единственный ресурс за который сейчас стоит бороться - скорость разработки.
Пока Паскаль-проект будет собираться с мыслями, вариант на Питоне выйдет в продакшен и обанкротит его.
Что собственно и произошло.
• С14 HD [0.96] + HS F/1.9 @ CGE Pro
• С8 HD   [0.93] + HS F/2.1 @ ZWO AM5
• TS 152/900, WO 98FLT
Sun Hα  MoonAstroSeeing Bot

Оффлайн Karagy

  • *****
  • Сообщений: 1 147
  • Благодарностей: 36
    • Сообщения от Karagy
Re: Изучаю Паскаль. Присоединяйтесь.
« Ответ #547 : 05 Июн 2024 [02:37:57] »
Это вы пришли с рассказами про питон в тему про паскаль.

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

Оффлайн GraY25

  • *****
  • Сообщений: 5 979
  • Благодарностей: 1023
  • Дифракционный_беспредел [____ Сергей Иванов ____]
    • Сообщения от GraY25
Re: Изучаю Паскаль. Присоединяйтесь.
« Ответ #548 : 05 Июн 2024 [02:50:03] »
Ну допустим JS Ruby Perl PHP Bash
• С14 HD [0.96] + HS F/1.9 @ CGE Pro
• С8 HD   [0.93] + HS F/2.1 @ ZWO AM5
• TS 152/900, WO 98FLT
Sun Hα  MoonAstroSeeing Bot

Оффлайн Karagy

  • *****
  • Сообщений: 1 147
  • Благодарностей: 36
    • Сообщения от Karagy
Re: Изучаю Паскаль. Присоединяйтесь.
« Ответ #549 : 05 Июн 2024 [02:56:33] »
Т.е. все языки с https://en.wikipedia.org/wiki/Eval

Как часто показаный вами калькулятор был востребован бизнесом?
Иными словами, вместе с очевидными достоинствами вашего решения, вы-же понимаете его недостатки?
« Последнее редактирование: 05 Июн 2024 [03:06:57] от Karagy »

Оффлайн Vladimir73

  • *****
  • Сообщений: 21 961
  • Благодарностей: 880
    • Сообщения от Vladimir73
Re: Изучаю Паскаль. Присоединяйтесь.
« Ответ #550 : 05 Июн 2024 [10:48:35] »
Шутите, что ли? Если бы он понимал, то не пришел бы сюда с глупостями. Да и вообще, он сюда троллем пожрать пришел, а вы его, вместо покормить, фбской по сусалам отходили :D :good:
« Последнее редактирование: 05 Июн 2024 [11:48:55] от Vladimir73 »
Это вы одиноки во вселенной. А нас - рать.

Оффлайн GraY25

  • *****
  • Сообщений: 5 979
  • Благодарностей: 1023
  • Дифракционный_беспредел [____ Сергей Иванов ____]
    • Сообщения от GraY25
Re: Изучаю Паскаль. Присоединяйтесь.
« Ответ #551 : 05 Июн 2024 [11:41:12] »
 :D

Да я ещё 20 лет назад писал процессинг Мастер-банка на Паскале.
И услугами нашего процессинга пользовались 250+ других банков.
Мне самому интересно, что же я не понимаю?))))

Если вкратце, по теме - некромантией заниматься не надо.
• С14 HD [0.96] + HS F/1.9 @ CGE Pro
• С8 HD   [0.93] + HS F/2.1 @ ZWO AM5
• TS 152/900, WO 98FLT
Sun Hα  MoonAstroSeeing Bot

Оффлайн Vladimir73

  • *****
  • Сообщений: 21 961
  • Благодарностей: 880
    • Сообщения от Vladimir73
Re: Изучаю Паскаль. Присоединяйтесь.
« Ответ #552 : 05 Июн 2024 [12:10:22] »
Я за примерно 40 лет на чем только и что только не писал. От примитивной экранной анимации и моделирования многокомпонентных гетерогенных систем до управления лабораторными установками в реальном времени и корпоративных ИС различных назначений. Языки - от фортрана до 386-го ассебмлера, от паскаля и си до (ща детей, снобов и дебилов порвет в клочья :D) пхп и жабаскрипта. И это я еще про всех студентов, которых я программировать именно на паскале учил, молчу. Там такое ого-ого, что ого! Если вдруг никто не понял, чё я там выше писал и насколько я крутой и чоткий, то: ни одна женщина никогда на длину не жаловалась, не жалуются и жаловаться не будут! ;D

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

Оффлайн Toth

  • *****
  • Сообщений: 2 683
  • Благодарностей: 182
    • Сообщения от Toth
Re: Изучаю Паскаль. Присоединяйтесь.
« Ответ #553 : 05 Июн 2024 [12:16:19] »
Может быть, чтоб не было холливара, создать желающим темы типа -
изучаю Python, присоединяйтесь..
изучаю C, присоединяйтесь..
...
все, изучил ... , отсоединяйтесь


Canon PowerShot SX130 IS

Оффлайн Karagy

  • *****
  • Сообщений: 1 147
  • Благодарностей: 36
    • Сообщения от Karagy
Re: Изучаю Паскаль. Присоединяйтесь.
« Ответ #554 : 05 Июн 2024 [12:17:14] »
Пример на питоне - это для случаев когда вам нужен калькулятор - а их у вас вообще нет - ни стандартного, ни онлайн, никаких.
Релизация калькулятора сильно зависит от разработчика.
Если вы углубитесь в тему калькулятора и, например, добавите себе в помощь пару стеков - для операндов и для операций - то, внезапно, реализация калькулятора станет на порядок проще. Безотносительно языка реализации.

Оффлайн Vladimir73

  • *****
  • Сообщений: 21 961
  • Благодарностей: 880
    • Сообщения от Vladimir73
Re: Изучаю Паскаль. Присоединяйтесь.
« Ответ #555 : 05 Июн 2024 [12:35:35] »
Может быть, чтоб не было холливара, создать желающим темы типа -
изучаю Python, присоединяйтесь..
изучаю C, присоединяйтесь..
...
все, изучил ... , отсоединяйтесь

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

Оффлайн Павел Васильев

  • *****
  • Сообщений: 564
  • Благодарностей: 20
    • Сообщения от Павел Васильев
    • Программные компоненты астромоделирования
Re: Изучаю Паскаль. Присоединяйтесь.
« Ответ #556 : 10 Июн 2024 [16:02:00] »
Это тем более странно, что данная тема холивара вообще не предполагает, не "паскаль против си" или "асм - самый крутой ЯП, остальные для лохов", а "Изучаю Паскаль. Присоединяйтесь." называется.
Нет, тема должна называться "Дельфи для астрономов, остальные языки идут лесом. Присоединяйтесь", а иначе будут лезть разные любители убогих си подобных языков и уродливых ява питонских скриптов. Будет холивар.

Онлайн LeftUser

  • *****
  • Сообщений: 31 899
  • Благодарностей: 1015
  • Кирилл ㋛
    • Сообщения от LeftUser
Re: Изучаю Паскаль. Присоединяйтесь.
« Ответ #557 : 14 Июн 2024 [12:43:02] »
а иначе будут лезть разные любители убогих си подобных языков и уродливых ява питонских скриптов. Будет холивар.
Троллинг защитан. И не надо потом удивляться, что будет холливар. Вы его и начинаете, унижая и оскорбляя большинство.

Оффлайн Павел Васильев

  • *****
  • Сообщений: 564
  • Благодарностей: 20
    • Сообщения от Павел Васильев
    • Программные компоненты астромоделирования
Re: Изучаю Паскаль. Присоединяйтесь.
« Ответ #558 : 16 Июн 2024 [10:32:30] »
Ну вы уж определитесь вам шашечки или ехать.
Единственный ресурс за который сейчас стоит бороться - скорость разработки.
Пока Паскаль-проект будет собираться с мыслями, вариант на Питоне выйдет в продакшен и обанкротит его.
Что собственно и произошло.
Брехня, причём голимая. Зачем писать калькуляторы на каком-то унылом интерпретируемом Питоне, если есть готовые, в исходниках, на современном Паскале? Кстати, компоненты тоже имеются. Вот, к примеру,  отличный научный калькулятор на Паскале.
https://gitverse.ru/glscene/MathgeomGLS/content/master/Calculator
И как ваш Питон собирается обанкротить этот вариант?  Про скорость разработки проектов на питоне вообще не из этой оперы, вы дайте хотя бы ссылку на что-то подобное с нормальным интерфейсом, как у приведённого мной паскалевского калькулятора. А по графикам и говорить нечего - паскаль  рулит.

Оффлайн Павел Васильев

  • *****
  • Сообщений: 564
  • Благодарностей: 20
    • Сообщения от Павел Васильев
    • Программные компоненты астромоделирования
Re: Изучаю Паскаль. Присоединяйтесь.
« Ответ #559 : 17 Июн 2024 [16:51:18] »
Троллинг защитан. И не надо потом удивляться, что будет холливар.

Зря вы так близко к сердцу принимаете критику. Она относится не к программистам - они люди подневольные и пишут на тех средствах, что дешевле, а лучше бесплатно, на чём заказчик просит и больше платит. Но надо признать, что среди 100 языков рейтинга списка Tiobe большая часть - старьё и хлам, только засоряющий мозги джунам (которые на самом деле юниоры), а также  мидлам и сеньорам. А вот Object Pascal будет жить вечно, потому как только этот язык ближе всего к описанию алгоритмов на естественном человеческом языке (хоть и английским), с общепринятыми математическими выражениями, а не каким-то там американским сленгом с операторными фигурными скобочками, мелкими буковками и кривыми стрелками.