Leave a comment

balmerdx August 23 2024, 06:55:41 UTC

Ничего не понял. Если глянуть, что написано по ссылке:

В Питоне есть препроцессор, но им никто не пользуется.

Почему эта информация должна влиять на использование, либо не использование Python?

Reply

thesz August 23 2024, 07:22:00 UTC
А где там написано "никто не пользуется"?

"In fact, Python has the best preprocessor of all languages - it quite literally allows us to do whatever we want, and a lot more."

Я реализовывал Verilog, у которого есть препроцессор: https://thesz.livejournal.com/1467775.html

А до этого пришлось возиться с Си, в частности, с его препроцессором: https://thesz.livejournal.com/1675484.html и https://thesz.livejournal.com/995540.html

Препроцессор всегда, без исключений, затрудняет работу с языком программирования, что его использование (чтение кода), что его реализацию (precompiled headers чего стоят). В случае Питона препроцессор ещё и может меняться между отдельными частями программы, написанной на Питоне, сам препроцессор не является заранее заданным набором правил, а является программой на Тьюринг-полном языке программирования.

Reply

balmerdx August 23 2024, 08:17:32 UTC

Тут главное первая фраза:

Every now and then you hear outrageous claims such as “Python has no preprocessor”.

Т.е. эта штука используется настолько редко, что о ней знают только любители нестандартностей.

В старинном питоне было много всякого, например print "hello" писалось без кавычек.

Reply

thesz August 23 2024, 13:26:12 UTC
> Т.е. эта штука используется настолько редко, что о ней знают только любители нестандартностей.

https://github.com/llllllllll/quasiquotes
https://github.com/twidi/mixt
https://github.com/Carreau/peps/blob/master/pep-0502.txt

Вышел по https://github.com/search?q=python+%22%23+coding%3A%22&type=code

Две страницы поиска.

> В старинном питоне

PEP-0263 это 2001 год, Питону 10 лет.

Reply

balmerdx August 23 2024, 14:54:25 UTC

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

Reply

thesz August 23 2024, 19:28:25 UTC
"Что в обычном языке программирования возможность языка, в хорошем языке программирования - библиотека."

Очень простой способ отличить хороший ЯП от обычного.

Reply

kodt_rsdn August 24 2024, 17:25:30 UTC

Угу, давайте всё сведём к форту и лиспу. Там всё суть библиотеки, включая трансляторы.

Препроцессорные извраты - это как раз библиотеки. Ну что, си и, как выяснилось, питон - хорошие языки? Надо держаться поближе или подальше?

Reply

thesz August 24 2024, 20:30:11 UTC
> Препроцессорные извраты - это как раз библиотеки.

Нет, это части языка.

Reply


Leave a comment

Up