Re[23]: Синтаксический сахар или C++ vs. Nemerle :)
От: Lazy Cjow Rhrr Россия lj://_lcr_
Дата: 02.06.06 09:26
Оценка:
eao197,

E>Если тебе интересно, то я когда-то пытался придумать что-то вроде манифестов проектов и даже изложил свои мысли в виде небольшого документика. Мы даже серьезно его осуждали при выборе системы контроля версий и системы организации проектов.


Спасибо, интересно. Я позже прочту и изложу свои соображения на эту тему.

E> В результате остановились на гораздо более простой схеме, описанной здесь
Автор: Евгений Охотников
Дата: 23.05.05
. Не бог весть что, но работает и обходится дешево, т.к. вся функциональность предоставляется Subversion-ом.


Есть подобный effort в мире java, называется maven (он в том числе предоставляет возможность подкачивать зависимости из интернета и не зависит от системы контроля версий), но недостаток его в том, что не каждый проект укладывается в ограничения, накладываемые maven-ом (в частности ограничения на структуру каталогов), постому как скажем если мы разрабатываем плугин для еклипса, то там несколько другие соглашения. Поэтому либо затачивать maven, либо писать плугин под эклипсом — чаще выбирают второе.

Касаемо mxx-ru всё выглядит вполне симпатично (хотя я не в курсе, как он уживается с проектами под ATL/WTL/MFC/QT или какими-нибудь другими фрэймворками, навскидку проблем не вижу).

E> Хотя переодически у меня возникает желание вернуться к идее манифестов для описания зависимостей. Да только не хватает духу браться за еще один безнадежный проект


У меня подозрение, что за *дцать лет в С++ наверняка была не одна сотня человек, которая работала над этой проблемой. Я бы начал с чего-нибудь типа гугла и т.п. Но подозреваю, что ты уже интересовался существующими результатами и был неудовлетворён. А?
quicksort =: (($:@(<#[),(=#[),$:@(>#[)) ({~ ?@#)) ^: (1<#)
Re[24]: Синтаксический сахар или C++ vs. Nemerle :)
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 02.06.06 09:49
Оценка:
Здравствуйте, Lazy Cjow Rhrr, Вы писали:

LCR>Есть подобный effort в мире java, называется maven (он в том числе предоставляет возможность подкачивать зависимости из интернета и не зависит от системы контроля версий), но недостаток его в том, что не каждый проект укладывается в ограничения, накладываемые maven-ом (в частности ограничения на структуру каталогов), постому как скажем если мы разрабатываем плугин для еклипса, то там несколько другие соглашения. Поэтому либо затачивать maven, либо писать плугин под эклипсом — чаще выбирают второе.


Да я слышал про него, но мне он показался слишком монстрообразным. Не хватило сил с ним поближе познакомиться, да еще он для Java, а меня в первую очередь C++ интересовал. Еще для Java есть какой-то Ivy, но кроме самого факта его существования я о нем ничего не знаю.

LCR>У меня подозрение, что за *дцать лет в С++ наверняка была не одна сотня человек, которая работала над этой проблемой. Я бы начал с чего-нибудь типа гугла и т.п. Но подозреваю, что ты уже интересовался существующими результатами и был неудовлетворён. А?


Да я уже и не помню, давно дело было. Помню только что конкретно для моих нужд ничего не нашел. Да и вообще C++, в отличии от Java, Perl или Ruby -- это такая разношерстная толпа, то найти можно хоть черта лысого, но не то, что нужно здесь и сейчас

Вообще давай в этой теме оффтопик завяжем, а то не красиво получается. С удовольствием продолжу разговор здесь
Автор: Евгений Охотников
Дата: 23.05.05
, или в какой-нибудь отдельной теме.


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[25]: Синтаксический сахар или C++ vs. Nemerle :)
От: Lazy Cjow Rhrr Россия lj://_lcr_
Дата: 02.06.06 10:13
Оценка:
eao197,

E>Вообще давай в этой теме оффтопик завяжем, а то не красиво получается. С удовольствием продолжу разговор здесь
Автор: Евгений Охотников
Дата: 23.05.05
, или в какой-нибудь отдельной теме.


Хорошо, я туда кину впечатления
quicksort =: (($:@(<#[),(=#[),$:@(>#[)) ({~ ?@#)) ^: (1<#)
Re[22]: Синтаксический сахар или C++ vs. Nemerle :)
От: Cyberax Марс  
Дата: 02.06.06 10:24
Оценка:
Lazy Cjow Rhrr wrote:
> После этого создаём файлик boostgem.config где будут сведения о
> компиляторе/окружении и т.п. (это сама тулза может создать). Отсюда
> следует, что для каждого компилятора будет свой конфиг.
На самом деле, это не такая уж фантастика. Есть BJamV2 там это выглядит
примерно так:
project BlahBlah ;

use-project /boost : c:/tools/boost ; #<===!
alias boost-libs : /boost//headers /boost//serialization ... ;

exe BlahExe
    :
        src1.cpp
        src2.cpp
        src3.cpp

        boost-libs
    ;

Вполне можно представить, что выделенная строка может выглядеть так
"use-project /boost : http://boost.org/repository ; ".

При постройке он сам скачает нужные файлы и поместит их куда-нибудь.
BJam автоматически пропишет необходимые зависимости для include'ов, сам
построит нужные библиотеки и т.п.

Черт, это мне нравится! Я добавлю эту фичу в свой BuildPort!
Posted via RSDN NNTP Server 2.0
Sapienti sat!
Re: Несколько предложений
От: theRebel  
Дата: 02.06.06 20:04
Оценка: 1 (1) +4 -1 :))
Здравствуйте, Чистяков Влад aka VladD2, Вы писали:

ЧВA>Статья:

ЧВA>Синтаксический сахар или C++ vs. Nemerle :)
Автор(ы): Чистяков Влад aka VladD2
Дата: 24.05.2006
Данная статья явилось плодом размышлений автора над фразами то и дело произносимыми в отношении C++ «Зачем вводить в язык то, что реализуется библиотекой?» и «Язык должен включать только базовые вещи, а весь синтаксический сахар должен реализоваться в виде библиотек». Эта статья является сравнением того как эти фразы реализуются в языке Nemerle и чем эта реализация отличается от того что сделано в C++.


1. переносить все топики с участием VlaD2 автоматом в Священные войны или в Юмор.

сколько читаю форум — всегда вянут уши при чтении форумов с участием VlaD2 — в большинстве случаев
оказывается, что его оппоненты все сплошь и рядом страдают фобией нехватки памяти
и/или производительности. Обычно нет бога кроме Nemerle либо .Net — в зависимости от форума.

2. за разжигание межязыковой розни отлучать от модерирования

3. И все-таки, VlaD2 — увидел прямой вопрос Вам, на который Вы ответили какую-то
чушь, показывающую невладение вопросом либо проблемы с памятью. Что вы скажете о сравнении функторов С++
в сравнении с delegate'ами.

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

4. Зачем рассказывать о достоинствах Nemerle именно в сравнении с C++ — у Страуструпа хоть и читаются его книги
как Ода C++ по сравнением с C — но он хоть имел на это право — он разрабатывал C++ как замену C
Re[15]: Синтаксический сахар или C++ vs. Nemerle :)
От: VladD2 Российская Империя www.nemerle.org
Дата: 03.06.06 00:15
Оценка:
Здравствуйте, McSeem2, Вы писали:

VD>>У C# уже минимум 2. А с натяжкой 4.


MS>Ну и как там совместимость? К примеру, я слыхал на всяких мобильных Жавах бардак похлеще C++ного.


Довольно не плохо. Релизы соотвествуют стандартам. Баги конечно находятся, но их фиксят. Сам вот написал парсер C# по его стандарту. Задача вполне подъемная.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: Несколько предложений
От: VladD2 Российская Империя www.nemerle.org
Дата: 03.06.06 00:15
Оценка: +2
Здравствуйте, theRebel, Вы писали:

R>Здравствуйте, Чистяков Влад aka VladD2, Вы писали:


ЧВA>>Статья:

ЧВA>>Синтаксический сахар или C++ vs. Nemerle :)
Автор(ы): Чистяков Влад aka VladD2
Дата: 24.05.2006
Данная статья явилось плодом размышлений автора над фразами то и дело произносимыми в отношении C++ «Зачем вводить в язык то, что реализуется библиотекой?» и «Язык должен включать только базовые вещи, а весь синтаксический сахар должен реализоваться в виде библиотек». Эта статья является сравнением того как эти фразы реализуются в языке Nemerle и чем эта реализация отличается от того что сделано в C++.


R>1. переносить все топики с участием VlaD2 автоматом в Священные войны или в Юмор.


R>сколько читаю форум — всегда вянут уши при чтении форумов с участием VlaD2 — в большинстве случаев

R>оказывается, что его оппоненты все сплошь и рядом страдают фобией нехватки памяти
R>и/или производительности. Обычно нет бога кроме Nemerle либо .Net — в зависимости от форума.

R>2. за разжигание межязыковой розни отлучать от модерирования


У тебя явно мания величия.

R>3. И все-таки, VlaD2 — увидел прямой вопрос Вам, на который Вы ответили какую-то

R>чушь, показывающую невладение вопросом либо проблемы с памятью. Что вы скажете о сравнении функторов С++
R>в сравнении с delegate'ами.

R>Только не надо отсылать на свои предыдущие сообщения, как Вы обычно делаете на

R>уточняющие вопросы.
R>Уточняющий вопрос как правило и задают тогда,
R>когда оппонент не хочет делиться своими аргументами и приходится их у него выпытывать

R>4. Зачем рассказывать о достоинствах Nemerle именно в сравнении с C++ — у Страуструпа хоть и читаются его книги

R>как Ода C++ по сравнением с C — но он хоть имел на это право — он разрабатывал C++ как замену C

Извини, но первая часть твоего вопроса выдает в тебе эдакого ... заведшего ник чтобы поплюваться на то что понять не в силах, а мне с такими личностями общаться не охота.
Заведи себе еще один ник, задай свои вопросы без предворительного ... и я на них с удоволствием отвечу.

Если цель былапредварительно раздражить и спровоцировать на грубость, то пустое. Это слишком дешевые приемы.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: Несколько предложений
От: McSeem2 США http://www.antigrain.com
Дата: 03.06.06 06:45
Оценка: +2 :))) :))) :))) :)))
Здравствуйте, theRebel, Вы писали:

R>2. за разжигание межязыковой розни отлучать от модерирования


Говори уж прямо — "модэратар, зобань сибя!"
McSeem
Я жертва цепи несчастных случайностей. Как и все мы.
Re[2]: Несколько предложений
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 03.06.06 13:21
Оценка:
Здравствуйте, theRebel, Вы писали:

R>1. переносить все топики с участием VlaD2 автоматом в Священные войны или в Юмор.


Да не, не согласен. Кстати, обрати внивмание, ты неправильно ник Влада написал: VladD2. Тыксыть, учимся уважать соперников.
<< Под музыку: silent >>
<< При помощи Януса: 1.2.0 alpha rev. 650 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re: Синтаксический сахар или C++ vs. Nemerle :)
От: konsoletyper Россия https://github.com/konsoletyper
Дата: 20.08.06 12:39
Оценка: -2 :)
Прочитал статью. Вначале заинтересовался. Потом понял, что это очередная реклама Nemerle и разочаровался.

Я совершенно согласен, что C++ — мерзость. Ну так и надо говорить, что он мерзость потому-то и потому-то, а не потому что Nemerle круче. Вроде когда язык только появляется, всех его граблей не видно; они начинают проявляться только тогда, когда появляются непредусмотренные разработчиками задачи. C++ разрабатывался 20 лет назад, и тогда многих проблем было просто не видно. Тогда решали совсем другие задачи. С дриугой стороны, C++ своим горьким опытом показал, как делать не надо. А вот то, что Nemerle — это круто, все давно уже поняли (не без усилий автора).

PS: По моему субъективному мнению самое слабое место Nemerle — вывод типов. С одной стороны это позволяет экономить при написании кода. С другой сотороны, Василий Пупкин может этим воспользоваться так, что его программа станет совершенно нечитабельной. Nemerle вообще этим грешит. Я просто боюсь представить, как будет выглядеть программа на Nemerle в исполнении того же В. Пупкина. Например, при безудержном объявлении макросов, или при неумелом и неуместном смешивании функционального и императивного стилей. В общем, Nemerle не должен становиться mainstream-языком. И хотя извраться можно на C# и Java, но это не возымеет таких грандиозных последствий, как в случае с Nemerle.
Нужно носить в себе еще хаос, чтобы быть в состоянии родить танцующую звезду.
Re: Синтаксический сахар или C++ vs. Nemerle :)
От: minorlogic Украина  
Дата: 20.08.06 14:31
Оценка: -1 :)
Статья интерессная, наводит на размышления. Понравилось, жду продолжения.

Решение с рекурсией как базовое, не очень убедительно , а вот сама мысль что необходимо 1 решение , а остальное через него реализовывать — это здраво !

Чтобы проверить возможности расширяемости ЯЗЫКА Nemerle, простой тест. Насколько сложно постараться привести с помощью средств Nemerle фреймворк до состояния совместимости с C++. Т.е. чтобы можно было компилировать программу написанную на C++ с STL и т.п. как программу на Nemerle. Не потому что C++ так крут , а для обратной совместимости, или JAVA, или еще ченить. Задача и практичная и интерессная.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[2]: Синтаксический сахар или C++ vs. Nemerle :)
От: VladD2 Российская Империя www.nemerle.org
Дата: 20.08.06 19:30
Оценка: 29 (2) +1 :)
Здравствуйте, konsoletyper, Вы писали:

K>Прочитал статью. Вначале заинтересовался. Потом понял, что это очередная реклама Nemerle и разочаровался.


Ребятки. Любое упоминание продукта перед его возможными потребителями является рекламой. Даже негативное, как не странно. И две главные цели рекламы — это привлечь внимание и заинтересовать. Так что "рекламу" можно усмотреть везде и всегда. Даже если вас назвали идиотом.

Так что является что-то рекламным булшитом или информацией достойной изучения и осознания зависит исключительно от воспритяитя человека. И порой бывает так, что человек не вошедший в суть дела считает, что-то "гнусной рекламщиной".

Напритив, человек обладающий своей головой без проблем смотрит самую примитивнейшую рекламу рассчитанную на воздейсвие на самые животные инстинкты человека. Его забавляет откровенное вранью и натяжки. Воздейсвие на инстинкты задорит. Такой человек сопособен увидеть в такой рекламе юмор и эронию.

Так вот желаю всем окружающим быть именно выторым типом людей, так как первые сворливы, несут один негатив и как не странно являются главными объектами на которых рассчитана реклама.

Вот, например, последняя реклама "Страого мельника" в кторой "если тормозит Аска, то нужно бухнуть и пойти к Аньке" мне очень понравилась. Мелькика я от этого, правда, пить не буду, но положительные эмоции я уже получил.

K>Я совершенно согласен, что C++ — мерзость.


А я — нет. Мерзких мест дейсвтиельно хватат. Но С++ это один из моих любимых языков програмирвоания... в прошом... правда. Но тем неменее должное ему я отдаю. К тому же он наряду с Java и C# является одним из немногих действительно популярных языков.

K> Ну так и надо говорить, что он мерзость потому-то и потому-то, а не потому что Nemerle круче.


Нет. Нет. Вот это как раз полнейший негатив, а но нам не нужен.
Мне не хочется говорить про дерьмо, мне хочется говорить про прогресс. Это я и делаю.

K> Вроде когда язык только появляется, всех его граблей не видно; они начинают проявляться только тогда, когда появляются непредусмотренные разработчиками задачи.


Если слово "задачи" заменить на "способы применения", то я пожалуй соглашусь. Вот только лично я пользуюсь Nemerle уже довольно плотно и довольно много. Учитывая мой опыт в других языках программирования, согласись, что я все же имею право выносить суждение, так как они обоснованы. К тому же опять подчеркну. У меня, по крайней мере в этой статье, не было задачи найти где-то негатив. Наоборот у меня была задача довести позетив. Позитив заключается в том, что лозунг (очень хороший на мой взгляд) провозглашенный в недрах С++-сообщества был воплошен на на практике в этом новом языке.

K> C++ разрабатывался 20 лет назад, и тогда многих проблем было просто не видно. Тогда решали совсем другие задачи.


Это опять не верно. Многие проблемы С++ были очевидны Страуструпу и уж темболее другим еще в 19885-ом. Он и сам их иногда описывает. Но оправдывает их: целями совместимости с С, незначительности (по его меннию) пробелем, производительностью, производительностью и наконец конечно же производительностью. Так вот за 20 лет стало более очевидными заблужения Страуструпа. Ну, да это тема для отдельного разговора, который мне чесно говоря мало интересен. С++ для меня пройденный этап и надежд на его перерождение я лично не вижу. За-то вижу цепляние за старое в попытках сохранить былые позиции.

Я без пробем могу програмировать на С++, но делать это не хочу, так как хочу получать от программирования удовольствие, а от С++ я его уже давно испытвать перестал.

K> С дриугой стороны, C++ своим горьким опытом показал, как делать не надо. А вот то, что Nemerle — это круто, все давно уже поняли (не без усилий автора).


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

K>PS: По моему субъективному мнению самое слабое место Nemerle — вывод типов. С одной стороны это позволяет экономить при написании кода. С другой сотороны, Василий Пупкин может этим воспользоваться так, что его программа станет совершенно нечитабельной.


Вот это уже тема для осбуждения. Только я бы предпочел обсуждать ее не в этом форуме. Вопрос серьезный, а здесь слишком много тех кому просто нужно устроить флэйм с целью даоказать свое ИМХО любыми целями. Так что обсуждение серьезной цели приведет в упраждения по демагогии и софистике.

Так что отвечу один раз и ни в каких развитиях темы в этом форуме участвовать н буду.

Так вот я считаю, что эти опасения безосновательны. Почему?

Все очень просто. Во-первых, ошибочна первая посылка (хотя это не так важно). Отсуствие типов внутри выражений помогает в основном не писать, а читать код! Код без лишних деталей воспринимается намного лушче. Этому содействуют два фактора: 1) уменьшается объем кода, 2) внимание концентрируется на важных деталях (алгоритме). Типы в большинстве случаев являются справочной информацией — "шумом".

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

Однако проблемой это станет только при одном условии, если у нас нет возможнсоти получить эту информацию о типах каким-то другим путем.

Собвственно дальше это рассуждение можно не продолжать так как умные уже догадались. Хотя... поясню чтобы уж до все...

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

Вот пимер работы
Автор: VladD2
Дата: 14.08.06
такой интеграции с IDE которую мы с IT (и другими) сейчас сейчас для Nelerle.

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

K> Nemerle вообще этим грешит. Я просто боюсь представить, как будет выглядеть программа на Nemerle в исполнении того же В. Пупкина.


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

K> Например, при безудержном объявлении макросов, или при неумелом и неуместном смешивании функционального и императивного стилей.


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

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

В C++ во всю используется совершенно страшный вариант метапрограммирования и это мало кому мешает. Тот кто считает опасным использовать "такой метакод" или просто метакод, то просто не пользуется библиотеками содержащими метакод. А дебилы его не пишут просто потому что у них нехватает интеллекта для этого. Так что природа сам защитила нас от подобных проблем.

Страх смешение функционального и императивного стилей имеет ту же природу — боязнь темного угла (неизвестности).

На самом деле С++ и C# давно позволяют писать в функциональном стиле или скажем в обобщенном, но к проблемам это не приводит. Разве что код получается более громоздкий из-за несовершенства функциональных средств этих языков.

В общем, несомненно кривой код Nemerle писать не запретит. В прочем, это не запретят и другие ЯП. Это вообще невозможно запретить. А раз так, то использовать "аргумент" что мол "Вася Пупкин сожет накосячить" просто не разумно. Он, а значит, ты я и вот тотот ухмыляющийся товарищь с разбухшим сомомнением, можем накосячить. И тольо от нас зависит будем ли мы стараться этого не делать или нет.

Важно только то, чтобы язык не подталкивал к косякам и чтобы косяки не могли появиться слоучайно. Вот отсуствие это Nemerle гарантирует. В нем не так то просто сделать косяк случано.

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

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

K> В общем, Nemerle не должен становиться mainstream-языком. И хотя извраться можно на C# и Java, но это не возымеет таких грандиозных последствий, как в случае с Nemerle.


Я не согласен с этим мнением. Да и один разговор о том должен или не должен ли Nemerle стать mainstream-языком говорит о том, что хотя и подспутно, но ты чувствуешь, что это вполне возможно. И это лично меня радует. Ну, а станет ли он mainstream-языком или нет ни от твоих высказываний, ни от моих не зависит. Вот от действий возможно. Думаю, что статьи и поддержка IDE работает на то чтобы Nemerle таки сал бы mainstream-ом.

Что касается извращения на C#, то тут вопрос терминов. Написать совершенно ничитаемый код на них проще просто. Думаю, никто с этим даже спорить не будет. А вот то что ты считашь извращением скорее всего просто плод твоей боязни темного угла. Ты не привык к более понятным и простым конструкциям и увидав их ты пугашся каки-то последствий которых ты пока не видишь, но которые ведь обязательно случатся.

ЗЫ

Да, и еще раз о рекламе. Твое сообщение безусловно увеличило (хотя возможно и незначительно) интерес к Nemerle, так что могу поздравить тебя с присоеденением к рекламной компании. Шучу конечно, но в каждой шутке...
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: Синтаксический сахар или C++ vs. Nemerle :)
От: VladD2 Российская Империя www.nemerle.org
Дата: 20.08.06 19:30
Оценка:
Здравствуйте, minorlogic, Вы писали:

M>Решение с рекурсией как базовое, не очень убедительно , а вот сама мысль что необходимо 1 решение , а остальное через него реализовывать — это здраво !


Слава богу, нашлись все же люди восринявшие суть стать и задумывавшиеся над ней.

Искренее спасибо. Я уже думал, что не услышу мнение о сути статьи, так как она потонит в придирках к дералям и предубеждениях людей.

M>Чтобы проверить возможности расширяемости ЯЗЫКА Nemerle, простой тест. Насколько сложно постараться привести с помощью средств Nemerle фреймворк до состояния совместимости с C++. Т.е. чтобы можно было компилировать программу написанную на C++ с STL и т.п. как программу на Nemerle. Не потому что C++ так крут , а для обратной совместимости, или JAVA, или еще ченить. Задача и практичная и интерессная.


Это не тест на расширение языка. Это тест на безрассудность.
Nemerle более мощьный язык и "доангрэйтить" его до С++ смысла нет. Более того возозможнсоти по изменению синтаксиса в Немерле довольно ограничины (причем намерянно). В нем нельзя поменять синтаксис на уровне описания типов. И не все можно сделать на уровне выражений. Но того что есть более чем достаточно для решения большинства пробелм стоящих сегодня перед программистом и архитектором.

Конечно в Nemerle есть возможность разрабатывать свои ДСЛ-и на уровне токенов и потенциально в нем можно попросту встроить С++. Но слава богу это очень не просто и совершенно никому не нужно.

Если цель всего лишь обратная совместимость с С++, то достаточно скомплировать С++-код в .net-ую сборку и подключить ее к прокту.

В Nemerle есть даже конвертор C#-а в Nemerle, но чесно говоря я так ни разу им и не восползовался. Ведь это совершенно не нужно.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: Синтаксический сахар или C++ vs. Nemerle :)
От: konsoletyper Россия https://github.com/konsoletyper
Дата: 20.08.06 20:11
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Ребятки. Любое упоминание продукта перед его возможными потребителями является рекламой. Даже негативное, как не странно. И две главные цели рекламы — это привлечь внимание и заинтересовать. Так что "рекламу" можно усмотреть везде и всегда. Даже если вас назвали идиотом.


VD>Так что является что-то рекламным булшитом или информацией достойной изучения и осознания зависит исключительно от воспритяитя человека. И порой бывает так, что человек не вошедший в суть дела считает, что-то "гнусной рекламщиной".


VD>Напритив, человек обладающий своей головой без проблем смотрит самую примитивнейшую рекламу рассчитанную на воздейсвие на самые животные инстинкты человека. Его забавляет откровенное вранью и натяжки. Воздейсвие на инстинкты задорит. Такой человек сопособен увидеть в такой рекламе юмор и эронию.


VD>Так вот желаю всем окружающим быть именно выторым типом людей, так как первые сворливы, несут один негатив и как не странно являются главными объектами на которых рассчитана реклама.


VD>Вот, например, последняя реклама "Страого мельника" в кторой "если тормозит Аска, то нужно бухнуть и пойти к Аньке" мне очень понравилась. Мелькика я от этого, правда, пить не буду, но положительные эмоции я уже получил.


А я и не говорю, что ненавижу рекламу в общем и рекламу Nemerle в частности. Просто начало было каким-то многообещающим. Что-то мне не нравится в C++, думал статья объяснит, что же именно. А статья всего лишь оказалась очередной похвалой Nemerle. Вот и разочаровался.

K>>Я совершенно согласен, что C++ — мерзость.


VD>А я — нет. Мерзких мест дейсвтиельно хватат. Но С++ это один из моих любимых языков програмирвоания... в прошом... правда. Но тем неменее должное ему я отдаю. К тому же он наряду с Java и C# является одним из немногих действительно популярных языков.


Процитирую себя:

C++ — жуткий отстой. То же масое можно сказать и по отношению к C#, Java, Object Pascal, Lisp, Nemerle, Prolog, и многим другим языкам. Но в той или иной степени они подходят для решения определёного круга задач. Хотя, на мой взгляд, C# чуть менее отстойный, чем C++, а Nemerle — чуть менее отстойный, чем C#.


Просто слишком радикально выражаюсь. А так мне хотелось бы просто обсудить недостатки C++. Для научного интереса. Чтобы не наступать на грабли. к сожалению, мой опыт не столь велик. На C++ не доводилось выполнять серьёзных проектов.


K>> Вроде когда язык только появляется, всех его граблей не видно; они начинают проявляться только тогда, когда появляются непредусмотренные разработчиками задачи.


VD>Если слово "задачи" заменить на "способы применения", то я пожалуй соглашусь. Вот только лично я пользуюсь Nemerle уже довольно плотно и довольно много. Учитывая мой опыт в других языках программирования, согласись, что я все же имею право выносить суждение, так как они обоснованы. К тому же опять подчеркну. У меня, по крайней мере в этой статье, не было задачи найти где-то негатив. Наоборот у меня была задача довести позетив. Позитив заключается в том, что лозунг (очень хороший на мой взгляд) провозглашенный в недрах С++-сообщества был воплошен на на практике в этом новом языке.


Думаю, не все проблемы первой версии фортрана были видны разработчикам. Да, они безусловно понимали, что их детище — не венец творения, могли указать на некоторые его недостатки. Но они тогда, хоть и понимали это интуитивно, не могли чётко сформулировать постулатов структурного программирования. Не говоря об ООП, АОП или ЯОП. Мир меняется, меняется требования к ПО, к его разработке. По моему, ни один язык не может учитывать далёкого будущего, сколь гибок он не был бы.

K>> С дриугой стороны, C++ своим горьким опытом показал, как делать не надо. А вот то, что Nemerle — это круто, все давно уже поняли (не без усилий автора).


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


Надо было мне поставить смайлик и написать ИМХО . А то, оказывается, получился совершенно не тот эмоциональный настрой.

K>>PS: По моему субъективному мнению самое слабое место Nemerle — вывод типов. С одной стороны это позволяет экономить при написании кода. С другой сотороны, Василий Пупкин может этим воспользоваться так, что его программа станет совершенно нечитабельной.


VD>Вот это уже тема для осбуждения. Только я бы предпочел обсуждать ее не в этом форуме. Вопрос серьезный, а здесь слишком много тех кому просто нужно устроить флэйм с целью даоказать свое ИМХО любыми целями. Так что обсуждение серьезной цели приведет в упраждения по демагогии и софистике.


Да, форумы этим грешат.

VD>ЗЫ


VD>Да, и еще раз о рекламе. Твое сообщение безусловно увеличило (хотя возможно и незначительно) интерес к Nemerle, так что могу поздравить тебя с присоеденением к рекламной компании. Шучу конечно, но в каждой шутке...


А я только за
Нужно носить в себе еще хаос, чтобы быть в состоянии родить танцующую звезду.
Re[3]: Синтаксический сахар или C++ vs. Nemerle :)
От: FR  
Дата: 21.08.06 04:57
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, minorlogic, Вы писали:


M>>Решение с рекурсией как базовое, не очень убедительно , а вот сама мысль что необходимо 1 решение , а остальное через него реализовывать — это здраво !


VD>Слава богу, нашлись все же люди восринявшие суть стать и задумывавшиеся над ней.


VD>Искренее спасибо. Я уже думал, что не услышу мнение о сути статьи, так как она потонит в придирках к дералям и предубеждениях людей.


Так раньше статьи не было целиком был только кусок с наездом, вот его и критиковали

А так если убрать наезд в общем статья нормальная, но примеры в ней очень слабые. Особенно пример с замыканием, по моему просто нереально понять из него что это такое если раньше не знал. Да и использование в примере про замыкания мутабельных переменных тоже по моему неверно, это особенность реализации, лучше было бы сделать это с немутабельными. Мне кажется проще объяснить эту тему на подобном примере:
using System.Console;

def closure(x)
{
    def local()
    {
    x;
    }
    
    local;
}

WriteLine(closure(0)());
WriteLine(closure(123)());
Re[3]: Несколько предложений
От: Gaperton http://gaperton.livejournal.com
Дата: 21.08.06 07:55
Оценка: 11 (1) +2 :)
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Здравствуйте, theRebel, Вы писали:


R>>1. переносить все топики с участием VlaD2 автоматом в Священные войны или в Юмор.


ГВ>Да не, не согласен. Кстати, обрати внивмание, ты неправильно ник Влада написал: VladD2. Тыксыть, учимся уважать соперников.


Уважение надо заслужить, и первый шаг в этом — уважать других. А начинается уважение с элементарной вежливости и культуры. Это очень сложно, но я объясню на примере — вот, например, опечатки (вроде VlaD2) принято не замечать, как, например, кусочки еды, случайно упавшие с вилки вашего визави на скатерть. А не тыкать ему, что у него с тарелки что-то упало и поэтому он вас не уважает. Ну это я так, для примера — вы не подумайте чего, любые совпадения — сами понимаете, случайны.
Re: Синтаксический сахар или C++ vs. Nemerle :)
От: unreg_flex  
Дата: 21.08.06 08:07
Оценка: +1
Здравствуйте, Чистяков Влад aka VladD2, Вы писали:

ЧВA>Статья:

ЧВA>Синтаксический сахар или C++ vs. Nemerle :)
Автор(ы): Чистяков Влад aka VladD2
Дата: 24.05.2006
Данная статья явилось плодом размышлений автора над фразами то и дело произносимыми в отношении C++ «Зачем вводить в язык то, что реализуется библиотекой?» и «Язык должен включать только базовые вещи, а весь синтаксический сахар должен реализоваться в виде библиотек». Эта статья является сравнением того как эти фразы реализуются в языке Nemerle и чем эта реализация отличается от того что сделано в C++.


Думаю, что не ошибусь, если скажу, что while – идеальный претендент на роль базового типа цикла.


Не верю я в это. Базового типа цикла не существует. do,while,for,foreach,break,continue,call,return и тд.
выражаются через if и goto. Все остальное это лукавые макросы.
Re[2]: Синтаксический сахар или C++ vs. Nemerle :)
От: unreg_flex  
Дата: 21.08.06 08:11
Оценка: :)))
А вообще, как говорил наш препод, все выражается через сложение с 1, сравнение с 0 и безусловный переход
Re[3]: Синтаксический сахар или C++ vs. Nemerle :)
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 21.08.06 08:41
Оценка: +1 -1 :)
Здравствуйте, VladD2, Вы писали:

M>>Решение с рекурсией как базовое, не очень убедительно , а вот сама мысль что необходимо 1 решение , а остальное через него реализовывать — это здраво !


VD>Слава богу, нашлись все же люди восринявшие суть стать и задумывавшиеся над ней.


VD>Искренее спасибо. Я уже думал, что не услышу мнение о сути статьи, так как она потонит в придирках к дералям и предубеждениях людей.


Одно решение, вокруг которого строится все остальное... Такое все из себя Единственно Правильное Решение (в обиходе просто silver bullet).

Ну попробуйте, например, реализовать одномерные вектора и 3-х мерные матрицы имея в распоряжении только списки. Или двухсвязные списки через вектора. Или деревья через массивы. Это же не так и сложно. Только вот не нужно почему-то.

Уже давно пора оставить сказочки о том, что есть единственно правильный подход. И что есть самый лучший инструмент. И что сочетание единственно правильного подхода с самым лучшим инструментом дает гарантированно успешные результаты.


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[2]: Синтаксический сахар или C++ vs. Nemerle :)
От: Vermicious Knid  
Дата: 21.08.06 10:26
Оценка: +1
Здравствуйте, unreg_flex, Вы писали:

_>Не верю я в это. Базового типа цикла не существует. do,while,for,foreach,break,continue,call,return и тд.

_>выражаются через if и goto. Все остальное это лукавые макросы.
В функциональных языках нет goto. Циклов в привычном понимании там в общем тоже нет, но без них прекрасно обходятся. Это принципиально другая вычислительная модель(еще на одной припципиально другой вычислительной модели без goto, и даже без if построены логические языки программирования). (Чистые) функциональные языки как раз и возникли как попытка полностью отойти от традиционной фон Нейманновской модели. Что интересно первопроходцем в этой области был John Backus, до этого придумавший Fortran и нотацию BNF.

Nemerle конечно не является чистым ФЯ, но как и в функциональных языках там нет goto, как и циклов(если не считать "лукавых" макросов ), Зато к goto по сути сводится хвостовая рекурсия, о чем как раз и написанно в этой статье.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.