ГлавнаяТексты

logo

ТЕКСТЫ

Языки программирования

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

Мне нравятся разные языки программирования. Мой основной и традиционный язык — Fortran. Можно подумать, что он очень старый, но он позволяет мне делать все необходимые численные и графические расчёты. Fortran мне нравится, потому что это один из первых языков, которые я выучил, он действительно очень прост, и с помощью нескольких инструкций можно сделать всё. Я добавил несколько графических подпрограмм к классическому Fortran (gnufortran), которые позволяют мне генерировать 2D и 3D DXF-чертежи для просмотра и редактирования в программах САПР. С их помощью, а также с отчётами и числовыми распечатками я могу рассчитать всё, что мне нужно.

C — один из самых классических языков. Я не использую его часто, потому что всё, что можно сделать на C, я уже делаю на Fortran.

Basic — ещё один классический язык. Я начал использовать его на микрокомпьютерах Sinclair, сначала с ZX-81, затем с ZX Spectrum. Также Qbasic на первых ПК. Существует много доступных версий. В последнее время я использую sdlbasic, который позволяет программировать очень легко.

Следующий интересный язык — 'bash' и вся коллекция команд UNIX и связанных с ними программ, которые образуют чудесный и бесконечный список. Мы также можем говорить об awk, gnuplot, imagemagick, mogrify, gv... бесконечно!

Особого упоминания заслуживает программа Octave, которая позволяет выполнять численные расчёты в интерпретируемом и очень компактном виде. Это компактная интерпретируемая альтернатива Fortran, где скорость вычислений не является критичной. Очень похожие программы — Scilab и другие. Я предпочитаю Octave, потому что он является частью проекта GNU.

Tcl/Tk — это язык, который сильно напоминает мне bash и позволяет создавать графические интерфейсы относительно простым способом. Я работал над интерфейсом для своей лучшей программы (LEparagliding) и изучаю более универсальные интерфейсы.

Также необходимо упомянуть Python, который предоставляет множество возможностей и позволяет создавать графические интерфейсы относительно просто. Меня интересует его взаимодействие с FreeCAD. Также я использую EZDXF — библиотеку для создания CAD-документов в формате DXF. Синтаксис Python, однако, не мой любимый. Вероятно, это хорошая альтернатива Tcl/Tk и даже Octave.

Великое чудо — OpenSCAD, который позволяет создавать параметрические 3D-чертежи необычайно просто и интуитивно. Это программируемое 3D-рисование. Он также позволяет мне проводить статические и динамические графические эксперименты в 3D. Другая похожая программа — BRL-CAD, но менее интуитивная.

POV-Ray (Persistence Of Vision Raytracer) — ещё одно чудо, на этот раз в области сюрреализма. Пока я не нашёл для него много практических применений, но он заслуживает изучения.

TeX — это система создания документов, основанная на программировании. Вы пишете команды, как должен выглядеть документ. В сочетании со скриптами bash, это позволяет генерировать и форматировать целые проекты. Это идея, которую я изучаю уже некоторое время, и вы сможете увидеть несколько примеров в специальном разделе.

HTML — это язык для создания веб-страниц, подобных этой. Он заключается в написании документа, описывающего его внешний вид. Идея похожа на TeX, но для веб-документов. Сначала он немного непривычен, но программирование всего форматирования документа обеспечивает высокое качество конечного результата. Я использую его напрямую с текстовым редактором gvim. Однако есть и другое очень важное применение HTML — создание полноценных программ с веб-интерфейсом. В этом последнем аспекте ИИ нам очень помогает!

Существуют и другие коды, такие как DXF, KML/KMZ, LandXML и другие... я не уверен, что они являются языками программирования, но я использую их как таковые. Обычно достаточно изучить несколько примеров с помощью обратного проектирования, чтобы понять, что нужно изменить в наших собственных кодах. В случае сомнений по синтаксису — спросите у надёжного ИИ.

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