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

На каком языке вы программируете?

Автор Devorator linguarum, сентября 30, 2013, 21:11

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

_Swetlana

Цитата: Hellerick от января  3, 2014, 11:01
Цитата: _Swetlana от января  3, 2014, 10:53
студентам преподаю старый добрый TurboProlog

Жестко вы их.
а почему, кстати? то, что мышки нет, вносит дополнительную прелесть - ездят же люди на старых автомобилях
TurboProlog отлично сделан, их же много было всяких, SWI в том числе, а сейчас один остался современный VisualProlog (не поняла я, как можно VP и SWI сравнивать, Bienna), а в основе синтаксис TurboProlog'а, все права на него у борланда откуплены.   
🐇

Gyesa

Цитата: _Swetlana от января  3, 2014, 11:42
TurboProlog отлично сделан, их же много было всяких, SWI в том числе, а сейчас один остался современный VisualProlog (не поняла я, как можно VP и SWI сравнивать, Bienna), а в основе синтаксис TurboProlog'а, все права на него у борланда откуплены
Компания Борланд давно уже ушла в небытие, а про "турбо"-версии (паскали, си и т.д.) ничего хорошего особо никто сказать не может.

Цитата: _Swetlana от января  3, 2014, 11:42
сейчас один остался современный VisualProlog
И чем он лучше? И вообще, строгая типизация и пролог? ООП и пролог? Слегка оксюморонистые вещи, вам не кажется? Да и то, разве сейчас пользуются прологом в чистом виде? На нём могут писаться модули, которые впоследствии будут использоваться из других ЯП, но чистый? Написать ЭС, например, — прошу: основа — swi-prolog & обёртка — python, как вариант.

SWI же — более-менее ближе всего к классическому прологу, да и в целом ничего лишнего.
Nu vei obține niciodată ceea ce îți dorești dacă nu-l iei.

_Swetlana

Цитата: Bienna от января  3, 2014, 11:58
Цитата: _Swetlana от января  3, 2014, 11:42
сейчас один остался современный VisualProlog
И чем он лучше? И вообще, строгая типизация и пролог? ООП и пролог? Слегка оксюморонистые вещи, вам не кажется? Да и то, разве сейчас пользуются прологом в чистом виде? На нём могут писаться модули, которые впоследствии будут использоваться из других ЯП, но чистый? Написать ЭС, например, — прошу: основа — swi-prolog & обёртка — python, как вариант.

SWI же — более-менее ближе всего к классическому прологу, да и в целом ничего лишнего.
Хотите вы или нет, но VP - единственный современный пролог, и на нём многие пишут. Как-то пыталась себе книгу по VP заказать - весь тираж мгновенно смели. 
Кроме того, он специально сделан для сишников, чтобы им удобно было на пролог переходить. Пожалуйста, пишите на си, в любой момент вызывайте модуль на прологе, для для решения специфических задач.
Почему преподаю TurboProlog, а не SWI - потому что его синтаксис - основа VP.
Почему TP, а не VP - чтобы не затенять сущность декларативного программирования.

ООП сама не люблю. Впрочем, я не программист. Как честный человек один раз потратила некоторое время, налепила всяких классов граф - орграф - неориентированный граф. со всякими методами - ну неудобно.
А вот один раз делала большое приложение для оперативного планирования листопрокатного производства, причём как математик-постановщик, при мне программист был,  но сама писала алгоритмическую часть - замучилась. Алгоритмы меняла три раза в неделю. каждый раз приходилось вносить изменения во всю программу. А писала бы в объектах - один раз описание метода изменила, и вызывай его где хошь. 
🐇

Даниэль

Цитата: _Swetlana от января  3, 2014, 12:29
ООП сама не люблю. Впрочем, я не программист. Как честный человек один раз потратила некоторое время, налепила всяких классов граф - орграф - неориентированный граф. со всякими методами - ну неудобно.
Так уметь же надо. Гораздо лучше хороший программист на ассемблере, чем неумелый на C++ или Java.
Программист из Израиля, Кармиэль

Gyesa

Цитата: _Swetlana от января  3, 2014, 12:29
А вот один раз делала большое приложение для оперативного планирования листопрокатного производства, причём как математик-постановщик, при мне программист был,  но сама писала алгоритмическую часть - замучилась. Алгоритмы меняла три раза в неделю. каждый раз приходилось вносить изменения во всю программу. А писала бы в объектах - один раз описание метода изменила, и вызывай его где хошь.
Это вы про пролог? Можете немного поподробнее о том, где вы для такой задачи именно применяли пролог? Пока не очень понял :)

Я не против ООП, напротив, это очень хороший подход, но не в стези пролога же!

Цитата: _Swetlana от января  3, 2014, 12:29
VP - единственный современный пролог, и на нём многие пишут
В СПбГУ и ИТМО — как в обучении, так и в исследованиях и разработках — используют SWI-Prolog; больше мне, и вправду, не на что опираться. Вне вузов применение пролога крайне редко где видел. Да и на хабре, кстати, за swi-prolog проголосовало больше людей с точки зрения функциональности, удобства и почему-то даже скорости (голосовали люди, непосредственно использующие пролог в работе и просто тесно с ним связанные). В своё время поэтому я полностью зациклился на swi.

Цитата: _Swetlana от января  3, 2014, 12:29
Почему TP, а не VP - чтобы не затенять сущность декларативного программирования.
SWI — тоже ничего не затеняет.

Цитата: _Swetlana от января  3, 2014, 12:29
Почему преподаю TurboProlog, а не SWI - потому что его синтаксис - основа VP.
В общем, ваша точка зрения понятна. Спасибо за мнение! Поближе посмотрю VP.
А насчёт синтаксиса — разве в разных реализациях пролога он сильно отличается?
Nu vei obține niciodată ceea ce îți dorești dacă nu-l iei.

Gyesa

Цитата: Даниэль от января  3, 2014, 12:42
Так уметь же надо. Гораздо лучше хороший программист на ассемблере, чем неумелый на C++ или Java.
Солидарен, но и здесь есть одна поправка: применение той или иной парадигмы диктуется решаемой задачей и используемым вследствие ЯП. Скриптовикам ООП так же актуален, как и козе баян. И т.д. То же и здесь: пролог реализует логическую парадигму, посему совать в него ООП — это, конечно, в каких-то задачах, может, и удобнее, но исходной цели языка таки противоречит.

Хотя, в принципе, мало осталось сейчас чистых языков. Везде идёт добавление различных фич из других парадигм, для удобства. Так, например, OCaml — отличная с-человекопонятным-синтаксисом реализация функционального языка с добавлением императивности и ООП. Usw.
Nu vei obține niciodată ceea ce îți dorești dacă nu-l iei.

_Swetlana

оперативно ударим вижуалпрологом по листопрокатному производству)))
вы меня неправильно поняли
планирование  в Dephi7 делала, без интерфейса, чисто алгоритмический модуль

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

Gyesa

Цитата: _Swetlana от января  3, 2014, 13:00
планирование  в Dephi7 делала, без интерфейса, чисто алгоритмический модуль
А, понятно :)

Цитата: _Swetlana от января  3, 2014, 13:00
оперативно ударим вижуалпрологом по листопрокатному производству)))
Во-во :D

Цитата: _Swetlana от января  3, 2014, 13:00
практически  невозможно составить базу знаний, если ты не эксперт
Это да. На то ведь и требуется минимальный "набор" при построении ЭС: эксперт, программист (этакий посредник между машиной и экспертом) и пользователь (ака тестировщик).
Nu vei obține niciodată ceea ce îți dorești dacă nu-l iei.

Timiriliyev

Как-то в 14 лет я захотел изменить количество патронов пистолета в игре Half-Life. И всё заверте... Хотя нет, до этого ещё было дело со скриптами в играх GTA третьего поколения (GTAIII, GTAVC и GTASA), но это другое. Буквально лицом окунулся в C++, но сразу понял мало что. Просто тупо списывал с разных тематических туториалов, но для чайника вроде меня и это было тяжело. Со временем, вкуривая всякие книжки я освоил базовый синтаксис C++, и на этом пыл охладился. Писал всякую ненужную хрень, начиная со стандартного хеллоуворлд заканчивая алгоритмами решения школьных задач по физике. В школе был TurboPascal, но мой мозг уже не воспринимает языки, не похожие на C. Позже встретил замечательный игровой движок DarkPlaces, хорошенько ознакомился с QuakeC. Вот его-то я и освоил по-настоящему. Забавы ради решил на этом движке всякие бесполезные задачи типа перехода от карты А в карту Б в стиле Half-Life (с сохранением координат), "классовой" оружейной системы или моделей игроков как в Quake III (голова-туловище-ноги). Так я развлекался, как мог. Сейчас уже начал всё потихоньку забывать...
Правда — это то, что правда для Вас.

Rex

Цитата: _Swetlana от января  3, 2014, 12:29
ООП сама не люблю. Впрочем, я не программист. Как честный человек один раз потратила некоторое время, налепила всяких классов граф - орграф - неориентированный граф. со всякими методами - ну неудобно.
А вот один раз делала большое приложение для оперативного планирования листопрокатного производства, причём как математик-постановщик, при мне программист был,  но сама писала алгоритмическую часть - замучилась. Алгоритмы меняла три раза в неделю. каждый раз приходилось вносить изменения во всю программу. А писала бы в объектах - один раз описание метода изменила, и вызывай его где хошь.

Освойте C# (.Net) и лучше объектноориентированного языка нет. Алгоритмы пишутся лучше всех, естественно. Визабельные интерфейсы без проблем.

А плодить глубокую иерархию классов это типичная ошибка начинающих в ООП. Лучшая архитектура иерархии классов это та что по типу STL.

_Swetlana

Цитата: Bienna от января  3, 2014, 13:09
Цитата: _Swetlana от января  3, 2014, 13:00
практически  невозможно составить базу знаний, если ты не эксперт
Это да. На то ведь и требуется минимальный "набор" при построении ЭС: эксперт, программист (этакий посредник между машиной и экспертом) и пользователь (ака тестировщик).
коллектив экспертов нужен, причём у каждого свои правила, которые между собой конфликтуют

я с дипломницей это делала
она забыла как страшный сон, а я как вспомню, до сих пор рыдаю
я грю -давай разделим работу. Я за пару месяцев оболочку на вижуалпроге напишу, а тебе вот докторская диссертация, какими критериями руководствуются в отделе кадров, когда шахтёра на работу принимают, составь базу знаний
Короче говоря, система порядка 20 вопросов задавала, отвечать надо было в интервале от -1 до +1, как обычно, -1 "нет", +1 "да", 0 "не знаю", а система должна была ответить, принять этого шахтёра на работу или нет. И если как-то не так ответишь и попадёшь на отсутствующее в базе правило, система кротко отвечала "не знаааю".
Дипломница выучила, как надо отвечать, чтобы не попасть на "не знааю" и бойко защитилась на красный диплом, а я сидела в полуобморочном состоянии :fp:
🐇

Алексей Гринь

C# — отлично (VisualBasic нонче есть тот же C#)
Java — отлично, но со словарём (плохо знаю библиотеки)
C++ — отлично, но со словарём (плохо знаю библиотеки, ибо костылю свои)
Python — хорошо, но со словарём (плохо знаю библиотеки и некоторые части синтаксиса, в основном на динамику)

Остальное поверхностно (ObjC и т.п.), но решаемо.
Принципиально не шарю в Паскале никак (не нужен).
肏! Τίς πέπορδε;

Dana

Homo homini cattulus est

Хто не знає про добро, той завжди буде злим,
Хто забув свою мову, той прокинеться німим,
Хто завжди був рабом, той залишиться ніким,
Все почалося з нічого і закінчиться нічим...

Hellerick


_Swetlana

где я? на лингвофоруме или на сорцах? все лингвисты оказались программистами
а я ещё стеснялась "ув. коллеги" обращаться, гусь хюс (ὗς) не товарищ
если есть кто с сорцов, то это я, Swetlana)

Цитата: Bienna от января  3, 2014, 12:47
А насчёт синтаксиса — разве в разных реализациях пролога он сильно отличается?
нет, конечно
из И. Братко "Программирование на языке ПРОЛОГ для ИИ" вообще с какого-то древнего диалекта на турбпролог без особых проблем переписывала
а вот набор стандартных предикатов и особенности их употребления, различаются и сильно
на сорцах как-то одна девушка (если, конечно, это была девушка) прям умоляла меня ей на SWI  написать, мол, "в помощи студентам" немыслимую цену заломили - я ничего не смогла - задание предполагало знание особенностей реализации стандартных предикатов в SWI
🐇

_Swetlana

🐇

Timiriliyev

Правда — это то, что правда для Вас.

Timiriliyev

Прочитал тему, захотелось что-нибудь написать. Ну прям очень. :donno:
Правда — это то, что правда для Вас.

Hellerick

Цитата: Timiriliyev от января  3, 2014, 16:22
захотелось что-нибудь написать. Ну прям очень. :donno:

У меня такое тоже бывает.
Заедаю салатиком.

Wildnorth

Цитата: Robert Dunwell от ноября 26, 2013, 20:27
Цитата: Марбол от ноября 26, 2013, 19:28
Цитата: Robert Dunwell от ноября 25, 2013, 23:19
Любой человек, который программирует приложения на ассемблере в современном мире - сумасшедший.
В прошлом, причины для программирования на ассемблере - сокращение времени выполнения кодов, уменьшение размеров требуемой памяти, или увеличение эффективности кодов.  В наше время практически неограниченных размеров памяти и сверхбыстрых процессоров, вопросы эффективности на таком уровне почти полностью отпали.
Поскольку, в современном мире, самый главный ограничивающий фактор, это стоимость труда программиста и поскольку время разработки приложений на ассемблере (и поэтому, их стоимость) в десятки раз больше чем на современных языках программирования, разработка на ассемблере только для самых завзятых чудаков...:-)

Не согласен с Вами. Именно недавно я прочел в одной статье по своей специальности, что автор записал на ассемблере некоторые особенно емкие модули своего комплекса вычислительных программ. Я еще не вполне достиг уровня этого автора по степени сложности решаемой задачи, но уже вполне понимаю его желание ускорить ход вычислений. Впрочем, с этой же целью имеет смысл освоить параллелизацию вычислений.
Я программировал на ассемблере в течение 10 лет. Я тоже руководил крупными проектами по разработке программных систем.
Я программировал на ассемблере и как системный программист, и как прикладной.
Я программировал на ассемблере как на крупных мейнфреймах, так и для микропроцессоров Интела и Моторолы.
Могу сказать, что, для того, чтобы программировать на ассемблере, должны быть очень веские причины.
Ни один проектный руководитель не даст программисту написать модуль на ассемблере, если это не АБСОЛЮТНО необходимо.
Ассемблер увеличивает сроки разработки на порядок.
Использование ассемблера сильно увеличивает стоимость разработки.
Ассемблер дает больше программных ошибок из-за недружелюбности и объемов письменных кодов.
Ассемблер намного труднее отладить и обслуживать.
Ассемблер чаще всего используется в виде инлайн-вставок и -макросов, которые как правило компактны по размерам. В критических участках кода это действительно может дать сильный выигрыш в вычислениях, обработке мультимедия, при учёте индивидуальных особенностей процессора в переносимом коде - как в ситуациях, показанных выше. Никто Вас больше не заставляет писать на АСМе целые проекты.

_Swetlana

Цитата: Timiriliyev от января  3, 2014, 16:22
Прочитал тему, захотелось что-нибудь написать. Ну прям очень. :donno:
у меня недавно такое было
чтобы не пользоваться виртуальной древнегреческой клавой, решила на дельфях написать свою собственную клаву, даже название придумала: "Строковник".
Пару дней назад подключила стандартную греческую политоническую раскладку, и уже никакой строковник писать не хочется :)
🐇

Dana

А мне давно уже лень что-либо писать. Бо я поняла, что всё, что нужно уже написано. А если не написано — то я этого не осилю.
А раньше писала части операционки на C и асме.
Так-то :)
Homo homini cattulus est

Хто не знає про добро, той завжди буде злим,
Хто забув свою мову, той прокинеться німим,
Хто завжди був рабом, той залишиться ніким,
Все почалося з нічого і закінчиться нічим...

Hellerick

Сейчас я очень вяло занимаюсь «генератором деревни».

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

Программа написана на python'е, работает крайне медленно, и вообще задним числом я понимаю, что написана фигово. Особенно много времени уходит на подбор невест подходящего возраста и социального статуса.

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

Gyesa

Nu vei obține niciodată ceea ce îți dorești dacă nu-l iei.

Timiriliyev

И вообще, даже сейчас я понимаю, что детские мечты создать свою™ компьютерную игру с блэкджеком и шлюхами никуда не делись. :( К тому же очень привлекает пример братьев Ушницких (которые, кстати, из одного со мной улуса :tss:), запиливших несколько казуалок и свою компанию Sulus Games (якут. сулус - звезда). Сейчас они миллионеры. ::)
Правда — это то, что правда для Вас.

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

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

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

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

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