Serguey Zefirov (thesz) wrote,
Serguey Zefirov
thesz

Category:

Современное программирование.

В течении лет шести-семи в начале моей трудовой деятельности моим предпочтительным инструментом был ассемблер, конкретно, Turbo Assembler. Практически всё я писал на ассемблере и до сих пор горжусь выводом сжатых изображений с кодированием последовательностей (не)прозрачности для VGA - код не использовал переменные на стеке, даже сохранения регистров на стеке не было, да и данных надо было пересылать меньше.

Так вот.

Современные технологии недалеко ушли от моего любимого tasm.

Если там я следил за регистрами, то сейчас я слежу за другими эффектами - cudaMallocManaged((void**)некий_массив_объявленный_static, ...) из последнего приключения в субботу, в процессе перевода программы на Си в программу на CUDA.

До этого был язык Regent, где надо было понимать, что это такой код на Lua, а не декларативное описание решения задачи. До этого Legion на C++. До этого ANTLR4, который сваливался до скорости синтаксического разбора в 4 килобайта в секунду (!!!), если ему не нравилось то, как грамматика языка используется программистами. И C#, который не умел видеть сквозь функции высших порядков.

И так далее, и тому подобное.

В современном Хаскеле это тоже присутствует, только больше в инфраструктуре, чем в языке. Хотя и язык тоже добавляет радости: "Haskell is very pragmatic language. You have to startyour program with at least dozen of LANGUAGE pragmas". Вот зачем специально надо разрешать вывод любых реализаций для newtype? Чему мешает постоянное включение этой возможности?

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

Просто наблюдение.
Tags: программирование
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 5 comments