Главное меню
Мы солидарны с Украиной. Узнайте здесь, как можно поддержать Украину.

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

Автор Devorator linguarum, октября 31, 2018, 18:59

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

Devorator linguarum

Вопросы только для тех, кому данная сфера не чужда.

1. Какие языки программирования вы изучали?
2. Какой из них вы предпочитаете использовать?

Эслыш

В учебных целях приходилось иметь дело с Паскалем, Си, Ассемблером, Лиспом и Scheme.

Devorator linguarum

Я про себя не рассказал. В довольно мохнатые годы (начало 1990-х) учил я сначала Бейсик, потом Паскаль и азы Ассемблера. Бейсик явно шел лучше. И потом мне пригодился, потому что на его турбо-диалекте, обладающем, в отличие от большинства других тогдашних бейсиков, тем достоинством, что он позволял компилировать полноценные exe-файлы, я сделал себе некоторые облегчающие жизнь программы, в частности, для обработки текстов. Сейчас-то такие задачи, вроде составления частотного словаря для определенного текста, стандартными программами решаются, но тогда их в доступе не было, так что приходилось вот так самому подобные инструменты изобретать.

From_Odessa

В лицее, где проучился один год, изучал Турбопаскаль. Тогда мало что понимал и разбираться не хотел, по сути. Позднее, в первых двух семестрах (прежде всего, во втором) универа изучал С++. Вот тогда реально разобрался, мне понравилось, я даже некоторое время жалел, что не пошёл учиться на программиста. Ну и, естественно, что С++ мне ближе любого другого языка программирования. Впрочем, по-настоящему я не углулялся, конечно. А главным все же считаю не умение использовать синтаксис языка, а построение алгоритма. Но это к слову.

ХТМЛ - не язык программирования, но его упомяну тоже. В начале 2010-го активно занялся сайтостроительством, тогда же изучал и использовал его самостоятельно (при этом там были условные операторы, хотя мне позже говорили, что вроде их в ХТМЛ быть не должно). Параллельно изучал и использовал таблицы стилей, то есть, CSS.

Bhudh

В детстве читал учебник информатики, там был какой-то BASIC, потом читал учебник по Турбо Паскалю.
Впоследствии у друга на компе первое пригодилось для кодинга на QBASIC (хотя больше глядели в хелп, благо он там достаточно мощный). ТП потом установил на комп, но так особенно и не попробовал.
Более-менее занимался на Pythonʼе, трогал PHP, Lua, Ruby, в игре Colobot используется C-подобный CBot (по сути урезанный C с несколькими встроенными игровыми типами и функциями).
Ну а основное, конечно, JavaScript, пишу юзерскрипты для тех сайтов, где не хватает юзер-CSS, и занимаюсь всякой фигнёй типа рисования на canvas.
Пиши, что думаешь, но думай, что пишешь.
MONEŌ ERGŌ MANEŌ.
Waheeba dokin ʔebi naha.
«каждый пост в интернете имеет коэффициент бреда» © Невский чукчо

Python

Начну с конца. В последнее время увлекся APL (на самом деле, книжка по APL попала ко мне еще в школьные годы, но тогда у меня не было на чем программировать на нем — просто почитал и забросил) — использую преимущественно свой вариант на основе NGN APL, куда я добавил некоторые фичи, которых мне в его изначальном варианте не хватало (некоторые примеры кода можно посмотреть в теме Считаем до миллиона). Сам NGN APL (и, следовательно, мой его форк) написан на JavaScript'е, что делает его изменение более простым, чем если бы это был, например, исходник на C/C++, хотя, вероятно, снижает производительность программы. APL мне нравится своей сверхлаконичностью и нестандартной логикой — своего рода аналог регексов для работы с массивами. JavaScript — ну, язык как язык, с C-подобным синтаксисом и некоторыми возможностями функционального программирования, интересный преимущественно тем, что доступен в каждом браузере (хотя я предпочитаю консоль и, следовательно, NodeJS), с низким порогом вхождения и быстрым осознанием того, как топорно там все сделано. Стандартный ввод-вывод в NodeJS — это нечто, по сравнению с ним Java'овские ридеры и райтеры кажутся песней...

Перед этим был период Python'а (который не имеет отношения к моему нику, придуманному независимо и из другого источника — собственно, тогда я еще не был знаком с этим языком; позже долго избегал его — меня отталкивал его «детский» синтаксис, и лишь спустя годы распробовал и обнаружил в нем кучу интересностей, с которыми чуть раньше встретился в Clojure и других лиспах). Язык многопарадигматичный — при желании, можно программировать на нем почти как на лиспе, и такой код будет вполне валидным (хотя язык и более заточен на тот самый «детский» стиль — процедурный код плюс, возможно, ООП-обертка воспринимается как нечто более мейнстримное, делать все через лямбды без костылей не получится...). Или взять генераторные функции с yield, позволяющим вывернуть алгоритм наизнанку.

(Тут я несовсем согласен с мыслью, что язык второстепенен по сравнению с алгоритмом. Безусловно, очень многие вещи делаются на разных языках практически иденично, но некоторые синтаксические и алгоритмические средства, присутствующие в том или ином языке, не имеют точных аналогов в другом — да, при желании, их можно имитировать, но результат может получиться некрасивым, слишком костыльным и/или громоздким. И наоборот, отсутсвие чего-либо в языке способствует использованию чего-то другого — взять, к примеру, классический BASIC, в котором нет структурных типов данных и процедур в обычном смысле, но зато имеется DATA/READ/RESTORE — в сущности, возможность задавать предопределенный список значений с последовательной выборкой из него. И если некий алгоритм на BASIC'е построен вокруг этих операторов, то переделка его, например, на C потребует реализовать собственный аналог такой очереди — что, в общем-то, просто, пока дело не доходит до RESTORE на метку, аналог чего, в общем-то, тоже не так уж и сложно придумать — но для изначального языка это средство «из коробки» и поэтому более самоочевидное, а для конечного — лишь надстройка, к изобретению которой надо додуматься. И наоборот, при переписывании на тот самый классический BASIC (при отсутствии в нем настоящих процедур и стека данных) чего-то типа ханойских башен или другого рекурсивного алгоритма, приходится либо имитировать стек при помощи массива, либо, лучше, вообще без него обойтись, заменив временное хранение обратным вычислением. В конечном итоге, различные языки позволяют взглянуть на один и тот же алгоритм под разным углом.

Ну а так, что-угодно можно сделать при помощи чего-угодно — видел, например, в одном старом учебнике реализацию двоичного дерева на ALGOL-60 — при том, что в нем нет ни структур, ни указателей — только массивы фиксированной длины — но, на самом деле, даже и этого вполне достаточно для реализации той же логики).


Clojure и чуть раньше перед ним Scheme — в общем, LISP (хотя к собственно Common LISP я так и не успел достаточно приблизиться). Другой взгляд на построение алгоритмов, другой набор средств: например, неизменяемые локальные «переменные», или рекурсия везде, где в других языках это считается плохим тоном и ведет к переполнению стека. Впрочем, присмотревшись, в рекурсивных алгоритмах начинаешь угадывать обычные циклы (коими хвостовая рекурсия на самом деле и является). С переходом от Scheme (заточенной под рекурсию) к Clojure (где основная фишка — ленивые последовательности) постепенно отказался и от рекурсивных циклов, их место заняли map, filter и прочие функции для манипуляций с последовательностями (и позже знакомство с ними пригодилось и в Python'е. В принципе, ФП сейчас достаточно мейнстримно, и подобные средства добавляются во все уважающие себя современные языки). Да, и макросы — в лисповском варианте, ломающие сишный стереотип, что это лучшее средство сделать свою программу максимально бажной и неотлаживаемой. Впрочем, Clojure изначально имеет достаточно мощный их набор, так что определять свои макросы мне практически не требовалось. Python или JS многое теряют, не имея подобных средств.

В период увлечения лиспами, я ориентировался на их JVM-реализации (напр., в случае Scheme — SISC или KAWA), хотя собственно Java тогда мне не казалась особо интересной — мне нравилась концепция виртуальной машины, организация библиотек, кроссплатформенность — но сам язык, для которого эта виртуальная машина была построена, воспринимался как слишком громоздкий, перенасыщенный дидактическим ковырянием и навязчивым ООП там, где хватило бы и процедурного кода. Но имея дело с Clojure, я так или иначе пользовался Java-библиотеками, и некоторая часть моего кода позже была написана на собственно Java'е.

SED — как правило, его считают несовсем языком программирования, а, скорее, утилитой для манипуляций с текстом, хотя некоторые умельцы создавали на нем, например, программу для игры в шахматы. Не могу похвастаться тем же, но одна из первых моих программ с использованием sed — форумный бот для ЛФ — представляла собой батник, где обмен с сервером осуществлялся при помощи wget, а обработка полученных данных производилась при помощи sed и некоторых других утилит. В общем, это язык программирования, но очень урезанный, где нет переменных в обычном смысле, алгоритмические средства ограничиваются меткой и переходом, а основной инструмент — регексы (они же регулярные выражения — шаблоны для поиска (и замены) в тексте. Кстати, еще одно средство, которое в наши дни есть в любом уважающем себя языке — после победного шествия perl'а в 90-е, подхватившего эту идею. Регексы в sed'е не самые мощные — например, Java использует их более продвинутый вариант, но на sed весь код может состоять из регексов ПОЛНОСТЬЮ). В общем, хотите освоиться с регулярными выражениями — поиграйтесь с sed.

В принципе, и язык командной оболочки (который используется в окне командной строки и на котором пишутся батники) тоже можно рассматривать как язык программирования. Просто сам по себе он мало что умеет — его работа сводится преимущественно к вызову других программ... Ну а так, там есть переменные, процедуры, цикл for с довольно неудобным синтаксисом, ветвление и переход на метку, в конце-концов. В общем, менее удобный, чем bash, но тоже вполне себе алгоритмический язык.

PHP — серверный язык для веб-страниц. Что тут еще добавить. Использую для расширений функционала собственного блога и некоторых других мелочей. Подразумевается, что php-шник html тоже должен знать.

Assembler. К сожалению, я уже не застал времен, когда допиливание на асме всяких мультиэдитов было еще актуально. С другой стороны, моей мечтой было написание компиляторов, для чего знание ассемблера более чем полезно. Мой курсач по системному программированию представлял собой компилятор с языка ассемблера, дававший на выходе .com-файл (простейший выполняемый формат). К сожалению, довести его до полноценного состояния я так и не успел — среди поддерживаемых команд были только арифметические операции, чего хватило для получения пятерки, но не для того, чтобы я сам мог им пользоваться, позже появились другие дела — в общем, проект так и остался в сыром виде...
А еще ассемблер дает понимание того, насколько в этом мире все неоптимально...

Pascal, Delphi. Основной институтский язык (хотя немного странно, почему нам преподавали, в первую очередь, паскаль, а не С++, например, что более соответствовало бы программисткой специальности.
Сейчас в сети я чаще натыкаюсь на студентов, изучающих C++, чем паскаль. Возможно, Delphi и TurboPascal в 90-е были более актуальны, чем сейчас). Основное преимущество Delphi — простота в создании GUI (чего мне не хватало в «школьных» языках, как и в TP), хотя позже пришел к выводу, что кнопкотаскание лишь убивает время, давая в конечном итоге программу, лишенную по сравнению с консольником средств внешней автоматизации, таких как перенаправление потоков ввода/вывода. Так что со временем я начал писать консольные программы на Delphi (не на TP, поскольку и в самом языке появились некоторые дополнительные возможности, которых до Delphi не было), а позже перешел на опенсорсный FreePascal (он же FPC) с теми же языковыми средствами. Если подумать, ООП-средства Delphi и его клонов имеют много общего с имеющимися в Java'е и C# — наследование от единственного класса плюс множественное наследование интерфейсов, свойства и пр. — и намного удобнее громоздких наворотов С++, просто созданных для простреливания себе ног всевозможными способами — только Java'у все хвалят, как и C#, а С++ так вообще стандарт, а вот Delphi почему-то «для ламеров». Все дело в низком пороге вхождения?..

BASIC — основной школьный язык программирования. Вначале был GW-BASIC, позже в школе появились более навороченные TurboBASIC и QBASIC. Моего желания создать на всем этом нечто выдающееся, типа компьютерной игрушки или своего собственного языка программирования, было явно больше, чем опыта написания чего-то большого и при этом работоспособного :( Хотя, в общем-то, программирование было моим любимым предметом в старших классах и в пределах школьной программы трудностей не вызывало. Сейчас тоже иногда играюсь, отдавая предпочтение «ностальгичным» диалектам (т.е., VBA — уже не бейсик, ІМНО: совершенно другая философия языка и парадигма типов, да и классический BASIC-код в нем попросту не работает). В неосуществленных планах — написать собственный BASIC, наследующий синтаксис и общую философию старых диалектов, но при этом позволяющий использовать самостотельные программы в качестве процедур и функций, расширяющий набор доступных типов, использующий некоторые элементы ФП... — в общем, это можно сравнить с примерно тем путем, по которому пошло развитие APL. Кстати, классическая интерактивная среда разработки этих языков имеет много общего — дань эпохи печатных терминалов, где вместо технически невозможных в то время экранных редакторов при редактировании больших программ использовалась ручная нумерация строк.

Хотя первым языком, с которым я познакомился, был C. Правда, на нем я тогда не программировал (разве что немного на бумаге) — просто читал хорошо написанную книжку. Простой понятный минималистичный язык с прозрачной логикой, где есть все необходимое и ничего лишнего. Впрочем, практического опыта написания кода на нем у меня не так уж и много — всегда был какой-то другой язык, преимущественно на котором я программировал. Вот C++, кстати, не люблю — хотя некоторые идеи из него мне были близки в свое время, мне в нем видится преимущественно язык-монстр с кучей переусложнений непонятно ради чего. Либо это последствия первого впечатления (Страуструп пишет хуже, чем Прата)?..

Вернее, самая первая «моя» программа была написана на PL/1. «Моя» в кавычках, потому что писала ее преимущественно мама, а я лишь смотрел и мало что понимал в происходящем. Впрочем, некоторые моменты все же принесли пользу, кое-что отложилось в памяти, и когда я позже по-настоящему начал знакомство с программированием, основные понятия уже были для меня знакомы.
Пролетареві ніколи вчити європейських мов, бодай би свою знати добре і на ній принести до своєї хати світло знання (Гнат Хоткевич)
ÆC CASALI NAXI PRASQURI: AHOV CÆRU, MERTVÆRI TÆ SLAVUTÆT!
Вони просили його: «Скажи: кетум», а він говорив: «сатем», і не міг вимовити правильно.
Хотелось бы также отметить, что "Питон" - это "мышиный язык" : "пи+тон". © АБР-2

Vertaler

ЦитироватьИли взять генераторные функции с yield, позволяющим вывернуть алгоритм наизнанку.
Ой, а «наизнанку» — это как?
Стрч прст в крк и вынь сухим.

Python

P.S. Еще можно написать про языки, мое знакомство с которыми ограничилось написанием одной-двух программ без дальнейшего углубления — Lua, FORTRAN, Haskell, perl, C#, встроенные скриптовые языки некоторых программ, а также языки разметки (HTML, LaTeX, ABC), языки запросов (SQL в различных вариациях), и пр., и пр. Я много чем интересуюсь, и далеко не всегда это находит практическое применение — скорее, мне интересны концепции, используемые в том или ином языке (см. выше про взгляд на один и тот же алгоритм под разным углом).
Пролетареві ніколи вчити європейських мов, бодай би свою знати добре і на ній принести до своєї хати світло знання (Гнат Хоткевич)
ÆC CASALI NAXI PRASQURI: AHOV CÆRU, MERTVÆRI TÆ SLAVUTÆT!
Вони просили його: «Скажи: кетум», а він говорив: «сатем», і не міг вимовити правильно.
Хотелось бы также отметить, что "Питон" - это "мышиный язык" : "пи+тон". © АБР-2

Python

Цитата: Vertaler от ноября  1, 2018, 23:53
ЦитироватьИли взять генераторные функции с yield, позволяющим вывернуть алгоритм наизнанку.
Ой, а «наизнанку» — это как?
Например, так: https://docs.python.org/2.5/ref/yieldexpr.html

Впрочем, и в более общем случае yield превращает подпрограмму в сопрограмму, позволяя любой алгоритм, циклически генерирующий последовательности значений, сделать «ленивым» (т.е., приостанавливающимся и возобновляющим работу по мере необходимости). Как сделать нечто подобное в языке типа JS, где yield/сопрограммы/континуации или другие подобные средства отсутствуют — только return? Именно что руками вывернуть весь алгоритм наизнанку, превратив его в серию вызовов функции, которая при каждом вызове должна каким-то образом продолжить вычисление с того места, где в прошлый раз остановилась... Выглядит так, что yield выворачивает алгоритм подпрограммы, не выворачивая его.
Пролетареві ніколи вчити європейських мов, бодай би свою знати добре і на ній принести до своєї хати світло знання (Гнат Хоткевич)
ÆC CASALI NAXI PRASQURI: AHOV CÆRU, MERTVÆRI TÆ SLAVUTÆT!
Вони просили його: «Скажи: кетум», а він говорив: «сатем», і не міг вимовити правильно.
Хотелось бы также отметить, что "Питон" - это "мышиный язык" : "пи+тон". © АБР-2

Python

Цитата: From_Odessa от октября 31, 2018, 20:21
ХТМЛ - не язык программирования, но его упомяну тоже. В начале 2010-го активно занялся сайтостроительством, тогда же изучал и использовал его самостоятельно (при этом там были условные операторы, хотя мне позже говорили, что вроде их в ХТМЛ быть не должно).
На самом деле, есть директивы условной обработки, которые поддерживались IE и использоались преимущественно для автоматического определения версии браузера. В других браузерных движках, насколько мне известно, их поддержка отсутствует — не зная о них, Мозилла или Хром увидит на их месте лишь закомментированный код.

Это не считая условных операторов во встроенном JavaScript'е, который хоть формально и считается чем-то отдельным от HTML, но на практике является полноценной его частью.
Пролетареві ніколи вчити європейських мов, бодай би свою знати добре і на ній принести до своєї хати світло знання (Гнат Хоткевич)
ÆC CASALI NAXI PRASQURI: AHOV CÆRU, MERTVÆRI TÆ SLAVUTÆT!
Вони просили його: «Скажи: кетум», а він говорив: «сатем», і не міг вимовити правильно.
Хотелось бы также отметить, что "Питон" - это "мышиный язык" : "пи+тон". © АБР-2

Bhudh

Цитата: Python от ноября  2, 2018, 00:21Как сделать нечто подобное в языке типа JS, где yield/сопрограммы/континуации или другие подобные средства отсутствуют — только return?
Ну, во-первых, уже есть.
Во-вторых, такое легко реализовывалось через замыкания и синглетоны.
Пиши, что думаешь, но думай, что пишешь.
MONEŌ ERGŌ MANEŌ.
Waheeba dokin ʔebi naha.
«каждый пост в интернете имеет коэффициент бреда» © Невский чукчо

Upliner

В детстве впечатлился, как брат делает делает игры и медиаплееры на Паскале, вот и добился, чтобы меня тоже научили. Брат правда и на Бейсике игры делал, но в какое-то время у нас все стали считать Бейсик неполноценным языком. Сделал на нём несколько игр. Одной из основных были лабиринты. Потом перешёл на Visual C++. На нём тоже делал игры, в том числе -- клон одной из моих любимых игр Supaplex и клон одной из анимационных программ. Правда после того, как у нас появился Flash, на свой движок векторных мультиков забил. Ещё сделал 3d-версию лабиринтов и небольшой симулятор метро (просто бродить и ездить на поездах, больше ничего). Это всё до 18 лет. В 18 лет пошёл работать и делал финансовую базу данных, в основном на VBA и SQL, но и для C# применение нашлось. C# конечно намного удобнее VBA, особенно после того как Linq появился. В свободное от работы время кодил на Java, участвовал в разработке JOSM. Потом эта работа мне надоела и я стал искать другую. И нашёл -- сделал довольно специфический медиасервер под nginx на чистом C. По счастью, работодатель оказался из Киева. Потом этот же работодатель предложил мне проекты на Golang для разных сетевых бекендов. Быстренько изучил этот язык и с тех пор он у меня основной. Для побочных проектов и мелких утилит использую Python.
Sancta Maria, Mater Dei, ora pro nobis peccatoribus, nunc et in hora mortis nostrae.

Python

Цитата: Bhudh от ноября  2, 2018, 01:03
Во-вторых, такое легко реализовывалось через замыкания и синглетоны.
Даже если так:

def generator():
    for i in range(10):
        for j in range(10):
            yield i*j

Хотя, если переделать for на while, а while — на функцию с рекурсией, и потом присобачить куда-то замыкания... Да, возможно, но легко?
Пролетареві ніколи вчити європейських мов, бодай би свою знати добре і на ній принести до своєї хати світло знання (Гнат Хоткевич)
ÆC CASALI NAXI PRASQURI: AHOV CÆRU, MERTVÆRI TÆ SLAVUTÆT!
Вони просили його: «Скажи: кетум», а він говорив: «сатем», і не міг вимовити правильно.
Хотелось бы также отметить, что "Питон" - это "мышиный язык" : "пи+тон". © АБР-2

Python

Цитата: Bhudh от ноября  2, 2018, 01:03
Цитата: Python от ноября  2, 2018, 00:21Как сделать нечто подобное в языке типа JS, где yield/сопрограммы/континуации или другие подобные средства отсутствуют — только return?
Ну, во-первых, уже есть.
Круто :up:
Даже мой древний WinXP-совместимый нод эту фичу поддерживает. Почему я никогда о ней не слышал?
Пролетареві ніколи вчити європейських мов, бодай би свою знати добре і на ній принести до своєї хати світло знання (Гнат Хоткевич)
ÆC CASALI NAXI PRASQURI: AHOV CÆRU, MERTVÆRI TÆ SLAVUTÆT!
Вони просили його: «Скажи: кетум», а він говорив: «сатем», і не міг вимовити правильно.
Хотелось бы также отметить, что "Питон" - это "мышиный язык" : "пи+тон". © АБР-2

злой

Цитата: Bhudh от ноября  2, 2018, 01:03
Цитата: Python от ноября  2, 2018, 00:21Как сделать нечто подобное в языке типа JS, где yield/сопрограммы/континуации или другие подобные средства отсутствуют — только return?
Ну, во-первых, уже есть.
Во-вторых, такое легко реализовывалось через замыкания и синглетоны.

Вот-вот. Только хотел сказать, что в ES6 есть генераторы, правда, как ими пользоваться на практике, я ещё не вкурил.

Вообще сейчас период бурного развития JS. Каждый год появляются новые "фенечки" вроде использования промисов в стиле Си-шарпа через async/await и т. п.

Ещё матёрые JS-программеры очень любят call/apply и "прививать" методы объекту через подмену прототипа родительского класса. Такие программы тяжело исправлять, сиди и гадай, от кого эта функция в конечном итоге на следует свой this. В общем, JS я люблю, он какой-то эстетически красивый, в противоположность PHP, в котором то же самое будет выглядеть как какое-то жуткое нагромождение $this->, array ('obj' => и т. п.
Entre los individuos, como entre las naciones, el respeto al derecho ajeno es la paz.   - Benito Juárez

From_Odessa

Цитата: Python от ноября  2, 2018, 00:33
На самом деле, есть директивы условной обработки, которые поддерживались IE и использоались преимущественно для автоматического определения версии браузера. В других браузерных движках, насколько мне известно, их поддержка отсутствует — не зная о них, Мозилла или Хром увидит на их месте лишь закомментированный код.

Это не считая условных операторов во встроенном JavaScript'е, который хоть формально и считается чем-то отдельным от HTML, но на практике является полноценной его частью.
Эти условные операторы нормально воспринимались и ФФ, и Оперой, и Хромом. В общем, я не знаю, что это было, я думал, что это обычная часть ХТМЛ) Это было при работе с сайтом на Юкозе. Там, собственно, приходилось активно использовать эти условные операторы. Может, это как раз встроенный ДжаваСкрипт?

Easyskanker

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

Python

Цитата: From_Odessa от ноября  2, 2018, 07:30
Цитата: Python от ноября  2, 2018, 00:33
На самом деле, есть директивы условной обработки, которые поддерживались IE и использоались преимущественно для автоматического определения версии браузера. В других браузерных движках, насколько мне известно, их поддержка отсутствует — не зная о них, Мозилла или Хром увидит на их месте лишь закомментированный код.

Это не считая условных операторов во встроенном JavaScript'е, который хоть формально и считается чем-то отдельным от HTML, но на практике является полноценной его частью.
Эти условные операторы нормально воспринимались и ФФ, и Оперой, и Хромом. В общем, я не знаю, что это было, я думал, что это обычная часть ХТМЛ) Это было при работе с сайтом на Юкозе. Там, собственно, приходилось активно использовать эти условные операторы. Может, это как раз встроенный ДжаваСкрипт?
А как они хоть выглядели, и для чего использовались?
Если Юкоз, то еще, возможно, это даже не HTML, а что-то свое юкозовское, обрабатываемое на их сервере — в общем, часть синтаксиса юкозовского шаблонизатора. Либо, Юкоз позволяет размещать у себя php (где условные операторы тоже есть, как и во всяком алгоритмическом языке)?
Пролетареві ніколи вчити європейських мов, бодай би свою знати добре і на ній принести до своєї хати світло знання (Гнат Хоткевич)
ÆC CASALI NAXI PRASQURI: AHOV CÆRU, MERTVÆRI TÆ SLAVUTÆT!
Вони просили його: «Скажи: кетум», а він говорив: «сатем», і не міг вимовити правильно.
Хотелось бы также отметить, что "Питон" - это "мышиный язык" : "пи+тон". © АБР-2

Lodur

Цитата: Devorator linguarum от октября 31, 2018, 18:59
Вопросы только для тех, кому данная сфера не чужда.

1. Какие языки программирования вы изучали?
2. Какой из них вы предпочитаете использовать?
1. Ой, каких только не изучал. Правда систематически - только C (с C++) и Ассемблер, на заре карьеры, связанной с вычислительной техникой. Всё остальное - "галопом по Европам".
2. Никакой. ::) Из того, что реально хоть как-то использовал - пару сайтов на PHP делал, и несколько скриптов для караоке на Lua.
8-й Девственник Лингвофорума

If the doors of perception were cleansed, everything would appear to man as it is: infinite. (W. Blake)
Какая потребителю разница, какой продукт лучше не работает?.. (Awwal12)

DarkMax2

Цитата: Devorator linguarum от октября 31, 2018, 18:59
Вопросы только для тех, кому данная сфера не чужда.

1. Какие языки программирования вы изучали?
2. Какой из них вы предпочитаете использовать?
Изучил всего один: C++.
Понимаю, естественно, C#, немного Дельфи и Паскаль. На последнем приходилось даже контрольные писать в школе.
Tej wojny nikt za nas nie wygra! © Wiedźmin III
Коли зчинять лемент: "Хто ж знав?!" — відповімо: "Ми".

З моїх снів ти утечеш над ранок,
Терпка, як аґрус, солодка, як біз.
Хочу снить чорні локи сплута́ні,
Фіалкові очі, мокрі від сліз.

From_Odessa

2Python

Вот пример кода оттуда:

Цитировать<?if($MODULE_ID$='forum')?><div class="header-right-forum"><div class="header-forum">
<div class="date"><font color="black">$WDAY$, $DATE$, $TIME$</font></div>
<div class="user-bar"><font color="black"><?if($USER_LOGGED_IN$)?><!--<s5200>-->Вы вошли как<!--</s>--> <a href="$PERSONAL_PAGE_LINK$"><font color="black"><b>$USERNAME$</b></font></a></b><?else?><!--<s5212>-->Приветствуем Вас,<!--</s>--> <b>$USERNAME$</b><?endif?></font></div>
<h1><!-- <logo> --><img src="http://earlyedition.ucoz.ru/bezymjannoe-2.png"><!-- </logo> --></h1>
<?else?>
<div class="header-right"><div class="header">
<h1><!-- <logo> --><img src="http://earlyedition.ucoz.ru/bezymjannoe-2.png"><!-- </logo> --></h1>
<?endif?>
<div class="navigation"><a href="$HOME_PAGE_LINK$"><!--<s5176>-->Главная<!--</s>--></a> <?if($USER_LOGGED_IN$)?><a href="$PERSONAL_PAGE_LINK$"><!--<s5214>-->Мой профиль<!--</s>--></a><?else?> <a href="$REGISTER_LINK$"><!--<s3089>-->Регистрация<!--</s>--></a><?endif?> <?if($USER_LOGGED_IN$)?> <a href="$LOGOUT_LINK$"><!--<s5164>-->Выход<!--</s>--></a><?else?> <a href="$LOGIN_LINK$"><!--<s3087>-->Вход<!--</s>--></a><?endif?></div>
</table>
</div></div>

Easyskanker


Python

Не JS и не эксплореровские условные директивы. Некоторое внешнее сходство с php есть, но разница в деталях (т.е., это вообще не php). Думаю, всё же шаблонизатор.
Пролетареві ніколи вчити європейських мов, бодай би свою знати добре і на ній принести до своєї хати світло знання (Гнат Хоткевич)
ÆC CASALI NAXI PRASQURI: AHOV CÆRU, MERTVÆRI TÆ SLAVUTÆT!
Вони просили його: «Скажи: кетум», а він говорив: «сатем», і не міг вимовити правильно.
Хотелось бы также отметить, что "Питон" - это "мышиный язык" : "пи+тон". © АБР-2

From_Odessa

Цитата: Python от ноября  2, 2018, 11:58
Не JS и не эксплореровские условные директивы. Некоторое внешнее сходство с php есть, но разница в деталях (т.е., это вообще не php). Думаю, всё же шаблонизатор.
Юкозовский шаблонизатор в рамках ХТМЛ (в смеси с ХТМЛ)? Или нет?

Python

Цитата: From_Odessa от ноября  2, 2018, 11:59
Цитата: Python от ноября  2, 2018, 11:58
Не JS и не эксплореровские условные директивы. Некоторое внешнее сходство с php есть, но разница в деталях (т.е., это вообще не php). Думаю, всё же шаблонизатор.
Юкозовские шаблонизатор в рамках ХТМЛ (в смеси с ХТМЛ)? Или нет?
Скажем так, если этот код скормить непосредственно браузеру, работающему с html, такой код будет несовсем рабочим (что-то отобразится, но не так, как задумал автор, возможно, некоторые теги шаблонизатора отобразятся в виде мусора либо нарушат структуру документа). Шаблонизатор — серверная программа, встраивающая в текст (в данном случае, html-текст) некоторые данные и производящая с ним некоторые другие манипуляции, это не часть собственно html (так же, как и php нельзя назвать языком в рамках html, хотя вместе с ним он чаще всего используется). Хотя все, что за пределами <?...?>, можно считать чистым html (впрочем, если просто их убрать, то в html-код попадут обе ветки if и, очевидно, не попадут встраиваемые данные, что, опять же, не соответствует изначальному замыслу создателя шаблона, а полученный html-код может оказаться невалидным).
Пролетареві ніколи вчити європейських мов, бодай би свою знати добре і на ній принести до своєї хати світло знання (Гнат Хоткевич)
ÆC CASALI NAXI PRASQURI: AHOV CÆRU, MERTVÆRI TÆ SLAVUTÆT!
Вони просили його: «Скажи: кетум», а він говорив: «сатем», і не міг вимовити правильно.
Хотелось бы также отметить, что "Питон" - это "мышиный язык" : "пи+тон". © АБР-2

Быстрый ответ

Обратите внимание: данное сообщение не будет отображаться, пока модератор не одобрит его.

Имя:
Имейл:
Проверка:
Оставьте это поле пустым:
Наберите символы, которые изображены на картинке
Прослушать / Запросить другое изображение

Наберите символы, которые изображены на картинке:

√36:
ALT+S — отправить
ALT+P — предварительный просмотр