Конференция "Прочее" » А у меня есть замечательная до идиотизма идея
 
  • XentaAbsenta © (06.02.09 19:07) [0]
    создать новый язык, взяв лучшее из паскаля и лучшее из C++.
    Уже есть наброски синтаксиса. Что вы думаете об этой идее?
  • Ega23 © (06.02.09 19:11) [1]
    Классная идея, я - за!
    Излагай.
  • blackman © (06.02.09 19:25) [2]
    Не забудь прихватить часть и из ассемблера. Можно и из проглога и других :)
  • XentaAbsenta © (06.02.09 19:28) [3]
    больше всего мне не нравится то, что в C++ делается упор на имена типов вместо имён самих объектов. Чаще всего читая код я ищу имена, а читаю бесконечные модификаторы типа const, volatile и имена типов типа int, void,
    public: SomeMicrosoftType_wcs_ProtoBetaShniagaThreadSafe<CAtlString, CAtlArray<SomeMyType, &SomeMyType>> m_MyFunc(void);
  • Ega23 © (06.02.09 19:31) [4]
    Это отвратительно!
    Мы такие вещи из нашего языка уберём обязательно!
    Таким вещам в культурном ЯВУ просто не место.
  • TUser © (06.02.09 19:33) [5]
    Клево. Синтаксис - последнее, за что бы я взялся. Мне пофиг,
    {

    или
    begin

    .
  • XentaAbsenta © (06.02.09 19:33) [6]
    в действительности же меня интересует только имя m_MyFuncVoid и тот факт, что это функция, т.е. примерно вот так:
    public: func m_MyFunc (void)SomeMicrosoftType_wcs_ProtoBetaShniagaThreadSafe<CAtlString, CAtlArray<SomeMyType, &SomeMyType>> ;

    в c++ так же раздражает отсутсвие свойств, отсутствие типов для BCD чисел, в C# отвратительный синтаксис свойств, а так же отсутствие ключевого слова "prop" или "property", отсутствие заголовочных файлов или интерфейсной части (как в делфях)
  • XentaAbsenta © (06.02.09 19:34) [7]
    5: а мне не пофиг на синтаксис, я программы чаще читаю чем пишу
  • XentaAbsenta © (06.02.09 19:39) [8]
    и для меня читать
    property MyProp : Integer read SomFunc write SomeFunc2;

    гораздо проще чем шарповые свойства
  • XentaAbsenta © (06.02.09 19:41) [9]
    собственно ещё кусочек:

    var ghytoidsf, laksdfj, lsdkfj : int;
    func FuncName () : int
    {
    var i : mystruct = (9 ,8, 10, 11);
    var j : mystruct2 = (9 ,8, 10, 11, 12);
    i += j(mystruct2)
    return i;
    }
  • XentaAbsenta © (06.02.09 19:47) [10]
    class CMyClass : CBaseClass =
    {
    public
    constructor (ParamList);
    private
    destructor;
    constructor Create(ParamList);
    protected
    constructor Create(ParamList);
    public
    static func FuncName (ParamList)
    }
  • XentaAbsenta © (06.02.09 19:50) [11]
    struct SMyStruct =
    {
    var f1, f2, f3 : int;
    constructor();
    constructor(ParamList);
    destructor();
    }
  • Ega23 © (06.02.09 20:24) [12]
    Всё уберём!
  • Узурап (06.02.09 20:29) [13]
    это что за изливания?
  • XentaAbsenta © (06.02.09 20:30) [14]

    > Узурап   (06.02.09 20:29) [13]
    > это что за изливания?


    а ты как думаешь?
  • Сергей М. © (06.02.09 20:30) [15]

    > Что вы думаете об этой идее?


    Мы думаем что в кащенко быстро отреагируют на эту идею)

    И ЗентаАбсента. думаем, там уже на карандаше)
  • Ega23 © (06.02.09 20:36) [16]
    struct SMyStruct =
    {
    var f1, f2, f3 : int;
    constructor();
    constructor(ParamList);
    destructor();
    }



    А чо тут такого? Всё нормально.

    А, ты наверное никогда двух конструкторов не делал, бидняжко.
  • Узурап (06.02.09 20:38) [17]

    > а ты как думаешь?


    думаю, что пора санитаров вызывать
  • DesWind (06.02.09 20:40) [18]
    А чем так плох Паскаль?

    Только тем что приходится извращаться при совмещении типов, именно в совмещении.

    А главное!!! отсутствием компилятора/IDE позволяющего делать то что делает VS.

    А вот Си плох скобками!!!! и своим циклом for!!!!
  • XentaAbsenta © (06.02.09 21:05) [19]
    ничего не имею против сишного цикла for.
    паскаль плох невозможностью создрания стековых объектов и объявлений внутри функции. Явно устаревшая структура модулей (Initialization, Finalization), отсутствием namespace'ов, децентрализацией предложений USES.
    Уже этого немало, можно продолжить.
  • XentaAbsenta © (06.02.09 21:09) [20]

    > А чо тут такого? Всё нормально.
    >
    > А, ты наверное никогда двух конструкторов не делал, бидняжко.
    >


    делал и больше. Я считаю, что слова constructor и destructor вполне достаточно для определения конструкторов и деструкторов. А потом ты не обратил внимание на конструктор без параметров для структуры, а зря.
  • Сергей М. © (06.02.09 21:09) [21]
    Никуда не уходи - за тобой уже выехали)
  • XentaAbsenta © (06.02.09 21:11) [22]

    > Сергей М. ©   (06.02.09 21:09) [21]
    > Никуда не уходи - за тобой уже выехали)


    не можешь сказать ничего умного - хотябы не флуди
  • Узурап (06.02.09 21:15) [23]

    > не можешь сказать ничего умного - хотябы не флуди

    ты тоже
  • Узурап (06.02.09 21:18) [24]
    кстати
    уже давно показывать "наброски синтаксиса"
    хочу видеть БНФ, а не слова "хотелось бы то и то"
  • XentaAbsenta © (06.02.09 21:18) [25]
    уговорил, больше не буду на тебя внимание обращать.
  • unfolded (06.02.09 21:19) [26]
    XentaAbsenta ©   (06.02.09 19:07)

    >взяв лучшее из паскаля

    Вас, что, не устраивает Паскаль? Почему же, ведь все говорят какой же это прекрасный язык. Вот вы и попались. Да, да, паскаль в том виде, в каком он есть в Дельфи, нужно запретить. Со своей магией и оптимизатором он, простите, просто тошнотворен.
    Вы, наверное, знаете печальную историю D? Оставьте все ваши попытки. Успех языка лежит где-то выше пределов синтаксиса. Используя тот или иной язык, вы должны всем сердцем принять ту модель, которую он предлагает. Только тогда, вы сможете успешно творить на нем. Тоска по несбыточному лишь затянет вас в круг страданий.
    К тому же, скоро будет завершен C++0x.
  • Узурап (06.02.09 21:19) [27]
    *давно пора
  • Узурап (06.02.09 21:22) [28]

    > Успех языка лежит где-то выше пределов синтаксиса.

    очем речь?
    нет ничего совсем, в том числе и синтаксиса.
    у товарища просто изливания.
  • XentaAbsenta © (06.02.09 21:24) [29]
    что такое C++0x.
    ?????
  • Городской Шаман (06.02.09 21:29) [30]

    > XentaAbsenta ©   (06.02.09 19:39) [8]
    >
    > и для меня читать
    > property MyProp : Integer read SomFunc write SomeFunc2;
    >
    > гораздо проще чем шарповые свойства


    Нате вам проперти, они конечно не настолько удобные как в Delphi, но вполне рабочие.
    http://rsdn.ru/article/vcpp/props.xml
  • Узурап (06.02.09 21:30) [31]

    > что такое C++0x.

    :-D
  • XentaAbsenta © (06.02.09 21:31) [32]

    > unfolded   (06.02.09 21:19) [26]
    > XentaAbsenta ©   (06.02.09 19:07)
    >
    > >взяв лучшее из паскаля
    >
    > Вас, что, не устраивает Паскаль? Почему же, ведь все говорят
    > какой же это прекрасный язык. Вот вы и попались. Да, да,
    >  паскаль в том виде, в каком он есть в Дельфи, нужно запретить.
    >  Со своей магией и оптимизатором он, простите, просто тошнотворен.
    ...
    >Тоска по несбыточному лишь затянет
    > вас в круг страданий.
    > К тому же, скоро будет завершен C++0x.
    > <Цитата>


    С++ ЩХ тем же CPP'ом и останется.
    В чём я попался? Меня не устраивает ни одни из языков, о котором я когда-либо читал.
  • Alkid © (06.02.09 21:35) [33]
    Автор, твой энтузиазм я бесконечно ценю, но начал ты с чего-то не того.
    Надо начинать с семантики.

    P.S. Касаемо типов - словосочетание "алгоритм Хиндли-Миллера" что-нибудь говорит? Если нет - то вместо того, что бы человечество новым языком осчастливливать - учить матчасть!

    P.P.S. Перечисли все языки,  которые ты знаешь на уровне, хотя бы, "много читал и думал". Это даст представление о твоем кругозоре.
  • XentaAbsenta © (06.02.09 21:38) [34]

    > Городской Шаман   (06.02.09 21:29) [30]

    > Нате вам проперти, они конечно не настолько удобные как
    > в Delphi, но вполне рабочие.
    > http://rsdn.ru/article/vcpp/props.xml


    Ты сам то читал, что там написано?
  • Zeqfreed © (06.02.09 21:42) [35]
    Мне по синтаксису и предлагаемой широте парадигм больше всего нравится Питон. Вообще, идеальный просто язык %)
  • XentaAbsenta © (06.02.09 21:55) [36]

    > Alkid ©   (06.02.09 21:35) [33]
    > Автор, твой энтузиазм я бесконечно ценю, но начал ты с чего-
    > то не того.
    > Надо начинать с семантики.
    >
    > P.S. Касаемо типов - словосочетание "алгоритм Хиндли-Миллера"
    > что-нибудь говорит? Если нет - то вместо того, что бы человечество
    > новым языком осчастливливать - учить матчасть!


    Хиндли — Милнера, я правильно понял? Скажи, на кой ляд мне этим голову забивать, я сторонник жёсткой типизации.

    Семантика, зачем? Я говорю так, как понял бы я сам, т.е. так, как я хотел бы чтобы выглядела программа. Сухое описание синтаксиса ничего никому не даст, даже в MSDN делается упор на примеры. Много ли людей пишущих на шарпе читали "C# Language Specification"?
  • Маэстро © (06.02.09 21:56) [37]
    > Используя тот или иной язык, вы должны всем сердцем принять
    > ту модель, которую он предлагает.

    периодическую медитацию забыл наверно дописать?:)

    2 XentaAbsenta ©
    есть идея? есть желание? так работай!:) но прежде определись — это действительно надо? да? ну тогда вперед:)/*только не воспринимай как поученье*/
    имхо, без конкретной концепции — разговор не сложится. «строительство» на основе «мне нравится» тоже хорошо, но чревато последствиями от «первого влетевшего дятла» — это в лучшем случае /*хотя даже не это предлагается обсужать, а скорее бумагу на которой будет производиться чертеж*/ думаю понятно о чем.

    чего-то пальцы устали писать... в общем: сформулируй и излагай, коль есть еще «желаньё»:)

    поддерживаю TUser'a. он кратко, точно и основное сказал.
  • Alkid © (06.02.09 22:06) [38]

    > XentaAbsenta ©   (06.02.09 21:55) [36]
    >
    > Хиндли — Милнера, я правильно понял? Скажи, на кой ляд мне
    > этим голову забивать, я сторонник жёсткой типизации.

    Да, "Милнера", опечатался :) Так вот, этот алгоритм - это алгоритм вывода типов для языков со статической типизацией. Сильно снижает писанину в программе и замусоренностm ее текста избыточной информацией. Ты все еще считаешь, что тебе этим не стоит голову забивать? :)


    > Семантика, зачем? Я говорю так, как понял бы я сам, т.е.
    >  так, как я хотел бы чтобы выглядела программа. Сухое описание
    > синтаксиса ничего никому не даст, даже в MSDN делается упор
    > на примеры. Много ли людей пишущих на шарпе читали "C# Language
    > Specification"?

    Ты говоришь о СИНТАКСИСЕ, а я - о семантике. Это разные вещи. То, как программа выглядит к семантике имеет мало отношения. Семантика определяет те идеи и понятия из которых состоит концептуальная основа языка. Она может быть выражена разными синтаксисами. Будет ли твой язык императивным или декларативным? А может гибридным? Какую систему типов он будет использовать? Будут ли в нем функции объектами первого класса или нет? Какого "сорта" ООП в нём будет поддерживаться - в стиле Smalltalk, в стиле Java/Delphi или в стиле С++ (см. STL/BOOST). А может такая ересь как CLOS - система ООП без инкапсуляции? Ересь ересью, а мощнее я ничего не видел. Будет ли поддержка метапрограммирования (макросов а-la Lisp или Prolog или Nemerle)? И так далее.
  • Anatoly Podgoretsky © (07.02.09 13:04) [39]
    > XentaAbsenta  (06.02.2009 21:55:36)  [36]

    Программист отказывающий от теории не имеет будущего! или вернуть деньги или поставить хорошии оценки и выдать диплом.
  • ketmar © (07.02.09 14:25) [40]
    >[35] Zeqfreed © (2009-02-06 21:42:00)
    >больше всего нравится Питон. Вообще, идеальный просто язык %)

    ну да. идеально заточен под removepkg. жаль, что есть уникумы, которые на нём пишут — wicd, например. уроды в тапочках.

    ---
    Understanding is not required. Only obedience.
  • Zeqfreed © (07.02.09 14:28) [41]
    > ketmar ©   (07.02.09 14:25) [40]

    Чем он тебе не нравится?
  • Palladin © (07.02.09 17:18) [42]
    кстати недавно читал про ЯВУ D... :) может абсенту он и есть идеал? :)
  • Городской Шаман (07.02.09 17:48) [43]

    > XentaAbsenta ©   (06.02.09 21:38) [34]
    >
    >
    > > Городской Шаман   (06.02.09 21:29) [30]
    >
    > > Нате вам проперти, они конечно не настолько удобные как
    > > в Delphi, но вполне рабочие.
    > > http://rsdn.ru/article/vcpp/props.xml
    >
    >
    > Ты сам то читал, что там написано?


    Да читал. Если вам только для MS, то написать строчку
    __declspec(property(get=get_Value, put=put_Value)) int Value;


    мне не лень.
  • Городской Шаман (07.02.09 17:50) [44]
    Да и универсальное(для всех платформ), написать
    property <int, CValue> Value;



    И в конструкторе прописать
    Value.init(this, get_Value, put_Value);


    тоже не сложно.
  • keymaster © (08.02.09 00:27) [45]
    10 CLS
    20 PRINT "HELLO WORLD!"

  • XentaAbsenta © (08.02.09 14:24) [46]

    > Городской Шаман   (07.02.09 17:48) [43]


    > написать строчку
    > __declspec(property(get=get_Value, put=put_Value)) int Value;
    >
    > мне не лень.

    Мне её читать потом лень будет %)


    > keymaster ©   (08.02.09 00:27) [45]

    Так я лет 10 назад писал
  • Юрий Зотов © (08.02.09 14:42) [47]
    > XentaAbsenta ©   (06.02.09 19:07)  

    > создать новый язык, взяв лучшее из паскаля и лучшее из C++.

    Такой язык уже есть. Называется - Delphi. Но можно, конечно, сделать еще один такой язык. Можно даже и не один, никто запретить не может.

    > Уже есть наброски синтаксиса
    Даже больше - уже есть и полный синтаксис, и готовый компилятор.

    > Что вы думаете об этой идее?
    Зависит от того, сможет ли месье написать хоть конкурентоспособные компилятор и среду разработки. Если да - у месье есть шанс разбогатеть и прославиться. Если нет - то месье от нечего делать страдает пустыми бреднями.
  • Юрий Зотов © (08.02.09 14:51) [48]
    > хоть конкурентоспособные

    хоть сколько-нибудь конкурентоспособные

    Сорри.
  • Marser © (08.02.09 19:46) [49]
    А зачем, если уже есть C#?
  • Городской Шаман (08.02.09 20:31) [50]

    > Marser ©   (08.02.09 19:46) [49]
    >
    > А зачем, если уже есть C#?


    Отстой редкостный, через 5-8 лет эта технология .ПТУ сдохнет и на смену ей придёт какая-то .ПТУ2. C# - это не язык, а маркетинговая фича.

    А Java и C++ будут эволюционно и преемственно развиваться дальше.
  • Alkid © (08.02.09 20:46) [51]

    > Городской Шаман   (08.02.09 20:31) [50]
    > Отстой редкостный, через 5-8 лет эта технология .ПТУ сдохнет
    > и на смену ей придёт какая-то .ПТУ2. C# - это не язык, а
    > маркетинговая фича.

    А обосновать? :) Когда джава появлялась тоже было много крикунов на тему "вся эта ваша джава через год подохнет". А теперь, оказывается, она будет "эволюционно и преемственно развиваться дальше".

    Кстати, если сравнивать языки Java и C#, то C# мне определенно нравится больше.
  • iZEN (08.02.09 21:10) [52]
    > Кстати, если сравнивать языки Java и C#, то C# мне определенно нравится больше.

    C# — результат абсценентного синдрома под названием NIH (Not Invented Here). Разрабатывал его "главный по формочкам" (Windows Foundation Classes) специалист, уволенный из Borland (чудовищная архитектура VCL — тоже его творение).
  • Anatoly Podgoretsky © (08.02.09 21:15) [53]
    > iZEN  (08.02.2009 21:10:52)  [52]

    Только не уволеный, а денег не хватило его удержать, хотя и пытались.
  • Alkid © (08.02.09 21:53) [54]

    > iZEN   (08.02.09 21:10) [52]
    > C# — результат абсценентного синдрома под названием NIH
    > (Not Invented Here). Разрабатывал его "главный по формочкам"
    > (Windows Foundation Classes) специалист, уволенный из Borland
    > (чудовищная архитектура VCL — тоже его творение).

    Если ты намекаешь, на то, что C# "слизан" с Java, то ты немного опоздал - С# 1.0 действительно сильно повторял Java (равно, как и Дельфи), но вторая и третья версии стали развиваться достаточно самостоятельно, отклоняясь от своего концептуального предка. LINQ, лямбды, замыкания, итераторы (yield return), вывод типов и т.п. - это уже достаточно "самобытные" вещи. Даже сходные механизмы, появившиеся позже, различаются - сравни дженерики в Java и в C#.
  • Rule © (09.02.09 00:15) [55]
    Вставлю свои копейки :-)
    Вот лично мне, как специалисту, всеравно на чем писать, хоть на чистом русском языке (хотя с этим проблемы, но при надобности научился бы).
    НО есть симпатии и соответственно антисимпатии. С шарп действительно слизан с джавы, и никто этого не отрицает (даже создатели), а сам Джава был идеологически содран по большей части с Делфи (и это мне в нем нравится) (не верите, почитайте Брюса Эккеля, я ему верю). И это в принципе история языка (обычно я ей интересуюсь на досуге, после достаточно долгого трения в трудовом процессе с  этим языком).
    Важно что позволяет этот язык, насколько это дорого и сколько времени уйдет на реализацию ну можно еще добавить список критериев в зависимости от обстоятельства.
    С шарп меня лично не устраивает, что требует нестандартных добавок в систему (в виде установленного дотнета) и абсолютной моноплатформенности.
    Если не устраивают стандартные наборы языка, никто не мешает их дополнить.
    Допустим вот ребята из TrollTech (ныне уже Nokia) расширили С++ необходимыми для себя вещами (сделав собственный препроцессор - moc preprocessor). Тем самым не ушли от стандарта языка, но дополнили язык. Позволило им оставить свою кроссплатформенность не пострадавшей и получить очень гибкий механизм доработки стандартного языка. В основном это было сделано для релизации  механизма  сигналов-слотов, но были добавлены и другие интересные фили такие как свойства. И эти свойства в отличие от майкрософтовского решения не завязаны на компилятор, а абсолютно не протировречат стандарту (благодаря препроцессору). Плюс добавляя версию LGPL с версии 4.5 (огромное спасибо Нокиа) я думаю QT просто идеальное решение.
  • Rule © (09.02.09 00:24) [56]
    Да кстати, хоть Qt библиотеку я использую из С++ (можно также ей пользоваться из Java через интерфейс нативных вызовов спрятанных в прокси-классах - так называемый Jambi, плюс схожая реализация есть для питона, можно использовать кьют из питона - но эта доработка специально для ребят из KDE). Все же кьют написан на С++ плюс приложения я пишу для достаточно широкого круга платформ (SH4, PPC405, MOTOROLLA H443, Davinci, i386+(Мак,Винда,Линукс)) что ограничивает в выборе языка С/С++ как самый кроссплатформенный язык. Но вот благодаря QT я уже забыл как выглядит STL, и програмирование используя QT больше похоже на делфи-программирование на синтаксисе С++, что помоему вообще здорово.
  • Marser © (09.02.09 01:48) [57]

    > Кстати, если сравнивать языки Java и C#, то C# мне определенно
    > нравится больше.

    Мне тоже.


    > Городской Шаман   (08.02.09 20:31) [50]
    >
    >
    > > Marser ©   (08.02.09 19:46) [49]
    > >
    > > А зачем, если уже есть C#?
    >
    >
    > Отстой редкостный, через 5-8 лет эта технология .ПТУ сдохнет
    > и на смену ей придёт какая-то .ПТУ2. C# - это не язык, а
    > маркетинговая фича.
    >
    > А Java и C++ будут эволюционно и преемственно развиваться
    > дальше.

    Софтович, вот тебе ли не понимать, что среди успешных не бывает плохих языков, бывают плохие разработчими.


    > iZEN   (08.02.09 21:10) [52]
    >
    > > Кстати, если сравнивать языки Java и C#, то C# мне определенно
    > нравится больше.
    >
    > C# — результат абсценентного синдрома под названием NIH
    > (Not Invented Here). Разрабатывал его "главный по формочкам"
    > (Windows Foundation Classes) специалист, уволенный из Borland
    > (чудовищная архитектура VCL — тоже его творение).

    Эмм... Прасьците, а в чём выигрышность архитектуры Джава по сравнению с охаянными вами?
    А где это ещё "уволенному" предлагают в 10 раз больше?
  • Германн © (09.02.09 01:56) [58]

    > Софтович, вот тебе ли не понимать, что среди успешных не
    > бывает плохих языков, бывают плохие разработчими.

    +1
  • Marser © (09.02.09 02:22) [59]

    > а сам Джава был идеологически содран по большей части с
    > Делфи

    Когда Oak уже задышал, Делфи ещё был в проекте, ЕМНИП.
  • SPeller © (09.02.09 06:52) [60]

    > паскаль плох невозможностью создрания стековых объектов

    а как же object?
  • 123-ий © (09.02.09 06:54) [61]

    > создать новый язык, взяв лучшее из паскаля и лучшее из C++.

    лучше тогда написать кульный компилер паскаля под никсы.
  • korneley © (09.02.09 07:14) [62]
    Всё вышепрочитанное навеяло:
    "Жил один рыжий человек, у которого не было глаз и ушей. У него не было и волос, так что рыжим его называли условно.
    Говорить он не мог, так как у него не было рта. Носа также у него не было.
    У него не было даже рук и ног. И живота у него не было, и спины у него не было, и хребта у него не было, и никаких внутренностей у него не было. Ничего не было! Так что непонятно, о ком идет речь.
    Уж лучше мы о нем не будем больше говорить."
    [7 января 1937 года] (Хармс 1991, с. 21.)
  • test © (09.02.09 07:15) [63]
    XentaAbsenta ©   (06.02.09 19:07)  

    Oak так и задумывался, получилась Java. Только у них размах по шире был, кроме Pascal, C, C++ они еще изучали Smalltalk, Modula, Oberon. Все это собрали одним куском и на виртуальной машине запустили.

    "Все уже украдено до нас" (с) "Операция Ы"
  • iZEN © (09.02.09 10:46) [64]

    > Alkid ©   (08.02.09 21:53) [54]
    > Если ты намекаешь, на то, что C# "слизан" с Java, то ты
    > немного опоздал - С# 1.0 действительно сильно повторял Java
    > (равно, как и Дельфи), но вторая и третья версии стали развиваться
    > достаточно самостоятельно, отклоняясь от своего концептуального
    > предка. LINQ, лямбды, замыкания, итераторы (yield return),
    >  вывод типов и т.п. - это уже достаточно "самобытные" вещи.
    >  Даже сходные механизмы, появившиеся позже, различаются
    > - сравни дженерики в Java и в C#.


    Да я не намекаю. Я прямо говорю: C# — результат синдрома NIH.

    Кстати, дженерики в Java 5.0 (сентябрь, 2004) появились раньше, чем вышел C# 2.0 (ноябрь, 2005).
  • iZEN © (09.02.09 11:06) [65]

    > Marser ©   (09.02.09 01:48) [57]
    >
    > Эмм... Прасьците, а в чём выигрышность архитектуры Джава
    > по сравнению с охаянными вами?

    Выигрышность архитектуры графических компонентов Java в том, что можно безболезненно её сменить на другую (SWT, например, или на несколько других), оставаясь на этой платформе и применяя тот же язык или несколько десятков других языков программироания, поддерживаемых JVM (JavaFX, JRuby, Jthon).

    Кроме этого, в Java SE уже десятилетие есть всевозможные интерфейсы: доступа к данным (JDBC), взаимодействия объектов (RMI), средства отображения графики Java2D (и Java3D в отдельном пакете), а так же унифицироанные средства взаимодействия с пользователем на уровне подключаемого интерфейса (Pluggable Look&Feel).

    C#/CLR этого не позволяет по двум причинам: среда ограничена инфраструктурой Windows (и MacOS X) — да тот же фреймворк WinForms ограниченно переносим; без технологий Microsoft, нативно привязанных к Windows, можно написать только приложение типа Paint.NET и на этом можно закрывать лавочку (относится к Linux Mono-project). Честно: готов поддать разработчиков за то, что в одном промышленном продукте, который мы используем, применяется жутчайшая смесь Win32 и .NET разных версий — понятно, что со всем этим зоопарком нагроможений технологий невозможно отвязаться от Windows.

    В Java превносится код и решения сотни независимых компаний, интерфейсы специфицированы JCP.org. C# развивается под контролем только одной компании.
    Завязыватся на поставщика конкретных решений никому не хочется, но сама .NET как-будто специально для этого создана. Сладкая парочка с Win32 — "неразлей вода".
  • Alkid © (09.02.09 11:19) [66]

    > iZEN ©   (09.02.09 10:46) [64]
    > Да я не намекаю. Я прямо говорю: C# — результат синдрома
    > NIH. Кстати, дженерики в Java 5.0 (сентябрь, 2004) появились
    > раньше, чем вышел C# 2.0 (ноябрь, 2005).

    Тогда ты прав относительно первой версии C#, и не прав относительно следующих, причём чем выше версия, тем больше неправ.

    А дженерики в Java - это вообще песня! Это же надо было до type erasure додуматься :)

    P.S. Кстати, если джаву разбирать по косточкам, то она тоже позаимствовала свои фитчи у других языков  :). Сборка мусора, объектно-ориентированность, вирутальная машина - всё уже было. Но это лишь указывает на то, что фундаментальные изобретения в области программирования закончились где-то в 70-х годах, а всё что сейчас - это отряхивание пыли с старых идей и попытка их скомбинировать более удачным образом.
  • Marser © (09.02.09 11:20) [67]

    > SPeller ©   (09.02.09 06:52) [60]
    >
    >
    > > паскаль плох невозможностью создрания стековых объектов
    >
    > а как же object?

    Тс-с, не перебивай кайф человеку. Он так обрадовался возможности задвинуть что-то умное, что я даже не решился портить ему настроение :-)
  • Alkid © (09.02.09 11:23) [68]

    > Rule ©   (09.02.09 00:15) [55]

    С одной стороны ты прав насчёт кроссплатформенности, кроссвендорности и т.п. Однако данные свойства не стоит делать самоцелью. Если мне надо будет писать кросс-платформенную программу, я, наверное, выберу не C#, а Java или C++ (а может и LISP какой-нибудь). Но если я намеренно разрабатываю программу под Windows, то кросс-платформенность средства разработки становится весьма сомнительной ценностью.
  • Marser © (09.02.09 11:26) [69]

    > Завязыватся на поставщика конкретных решений никому не хочется,
    >  но сама .NET как-будто специально для этого создана. Сладкая
    > парочка с Win32 — "неразлей вода".

    А это плохо? Я, к сожалению, с Явой работал только под Вин32, на практике кроссплатформенности не видел, но слышал и не самые лестные отзывы.

    Потом, вы пишете о переносимости графической архитектуры. Во-первых, это не совсем уж и просто, а во-вторых, .NET позволяет примерно так же портировать WinForms-приложение в Web, в ASP.NET. И равносильной альтернативы ему в Яве нет, так же, как и JDBC сложно сравнить с ADO.NET, а RMI с DCOM...
  • Marser © (09.02.09 11:28) [70]

    > P.S. Кстати, если джаву разбирать по косточкам, то она тоже
    > позаимствовала свои фитчи у других языков  :). Сборка мусора,
    >  объектно-ориентированность, вирутальная машина - всё уже
    > было. Но это лишь указывает на то, что фундаментальные изобретения
    > в области программирования закончились где-то в 70-х годах,
    >  а всё что сейчас - это отряхивание пыли с старых идей и
    > попытка их скомбинировать более удачным образом.

    Эмм... Алкид, но ведь пусть даже эта красота и была придумана тогда, но внедрена-то на практике была значительно позже. О таких идеях говорять не "прибитые пылью", а "опередившие своё время" ;-)
  • Alkid © (09.02.09 12:00) [71]

    > Marser ©   (09.02.09 11:28) [70]
    > Эмм... Алкид, но ведь пусть даже эта красота и была придумана
    > тогда, но внедрена-то на практике была значительно позже.
    >  О таких идеях говорять не "прибитые пылью", а "опередившие
    > своё время" ;-)

    Ну да, опередившие время :) Просто ревнители языков, стараясь доказать что их языки "труЪ", часто забывают о том, что их языки сами что-то у кого-то заимствовали :)

    Кстати, сейчас сбывается пророчество, что по мере развития языки становятся всё более похожими на Lisp :)
  • brother © (09.02.09 12:58) [72]
    пример синтаксиса покажи ;)
  • test © (09.02.09 13:14) [73]
    Marser ©   (09.02.09 11:26) [69]
    У нее переносимость на уровне нативных методов хромать может, сама по себе JVM работает где угодно, ну это уже вопрос к разработчикам библиотек.
  • iZEN © (09.02.09 15:17) [74]

    > Marser ©   (09.02.09 11:26) [69]
    > Потом, вы пишете о переносимости графической архитектуры.
    >  Во-первых, это не совсем уж и просто, а во-вторых, .NET
    > позволяет примерно так же портировать WinForms-приложение
    > в Web, в ASP.NET. И равносильной альтернативы ему в Яве
    > нет, так же, как и JDBC сложно сравнить с ADO.NET, а RMI
    > с DCOM...

    То есть как это "нет альтернативы"? Приложения на Swing/AWT выполняются где угодно и выглядят и имеют поведение в зависимости от заданного (Pluggable Look&Feel) интерфейса.
    Три Look&Feel: Ocean/Metal, Motif, Nimbus переносимы один-в-один и не зависят от платформы, на которой они работают. Непереносимые Look&Feel: Windows/WindowsXP, Gtk, Cocoa эмулируются не на 100%, но близко к оригинальным виджетам.

    Про ASP.NET — не понял, причём здесь оно?  Java JSP/Servlets и фреймворк JSF ничем не хуже и работают в Tomcat, который бинарно переносим между платформами, без перекомпиляции.

    JDBC сравнивать с ADO.Net не надо, так как единственный механизм доступа из Java-программ к RDMS есть JDBC. Остальные фреймворки лишь оборачивают собой JDBC-вызовы.

    DCOM vs. RMI — на этот счёт мне запомнились танцы с бубном в локальной сети, когда я пытался завести DCOM на Win 9x — пришлось ставить OLEAutomation и прописывать в его "реестре" нужные приложения; фактически работал COM-proxy, а нативный DCOM не завёлся (хотя и была примочка от Microsoft DCOM for Win9x).

    В то же самое время приложения с RMI работали как часы на любых машинах (Win 9x, WinNT4, Win2000),  где была установлена JRE. Так что для меня DCOM ограничился лишь встроенной функциональностью линейки операционных систем WindowsNT (вОвремя WinXP подоспела, ага).
    Про сериализацию объектов в DCOM я уж не говорю — это делается весьма нетривиально, в то время как для RMI любой класс, имплементирующий интерфейс-метку  Serializable, автоматически становится переносимым — удобно работать с контейнерами объектов, когда в Vector можно положить кучку объектов и кинуть её по сети другому приложению на другом компьютере для обработки.
  • clickmaker © (09.02.09 15:53) [75]
    > [47] Юрий Зотов ©   (08.02.09 14:42)
    > > XentaAbsenta ©   (06.02.09 19:07)  
    >
    > > создать новый язык, взяв лучшее из паскаля и лучшее из
    > C++.
    > Такой язык уже есть. Называется - Delphi.

    Delphi не взял лучшее из с++ - тернарный оператор
    o)
  • test © (09.02.09 16:04) [76]
    clickmaker ©   (09.02.09 15:53) [75]

    Math,StrUtils

    Delphi syntax:

    function IfThen(AValue: Boolean; const ATrue: Integer; const AFalse: Integer = 0): Integer; overload;

    function IfThen(AValue: Boolean; const ATrue: Int64; const AFalse: Int64 = 0): Int64; overload;
    function IfThen(AValue: Boolean; const ATrue: Double; const AFalse: Double = 0.0): Double; overload;
    function IfThen(AValue: Boolean; const ATrue: string; const AFalse: string = ''): string; overload;
  • test © (09.02.09 16:04) [77]
    ps
    Delphi 7
  • Alkid © (09.02.09 17:06) [78]

    > test ©   (09.02.09 16:04) [77]

    Это лажа. Тут вычисляются оба аргумента (ATrue, AFalse), а надо что бы вычислялся только один - который надо.
  • Городской Шаман (09.02.09 17:41) [79]

    > korneley ©   (09.02.09 07:14) [62]


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

    Начиная описывать голову, хочется сказать о бороде - хорошая борода должна стелиться как ковер, а драть с нее волосы нипочем не надо. На голове бывают также уши, они торчат как два чебурека. Внутри головы бывает черте-что, например опилки. Нос бывает длинный и деревянный. На голове часто что-то растет, иногда даже зелень. Разные бывают головы, страшные - соломенные, железные. Еще железяки бывают на спине, но к теме головы это не относится.
  • Rule © (09.02.09 17:54) [80]
    > Alkid ©   (09.02.09 11:23) [68]

    Именно поэтому и процветает проект Wine. Вот почему бы не заложится изначально на кроссплатформенность (тем более это ничего не стоит технически), чтоб потом не возникало вопросов по портации ?
    Тем более как разработчик софта (если не брать заказные решения, а всеобщие - коробочные) я заинтересован в расширении своей аудитории, тоесть мне выгодно иметь клиентов со всех платформ, мак, линукс и виндовз. Тем более маководская аудитория не такая и маленькая и обычно более платежеспособная (точнее сказать намного проще расстаются с деньгами в обмен на софт) чем виндовая. Конечно дело каждого, можно написать офигетительный редактор изображений, аля фотошоп, заточеный под салярку ... никто не запрещает. Но денег с этого много не заработаешь. А одна из основных концепций создания софта - поменьше делать чтоб быстрее сделать и больше заработать ... (да как и  любом нормальном бизнесе). Помоему это одно из основных условий выбора интсрументария разработчик, а не какой там у языка синтаксис, типа нравится или не нравится ...
  • Alkid © (09.02.09 19:01) [81]

    > Rule ©   (09.02.09 17:54) [80]

    Поясняю - коммерческий софт пишется для зарабатывания денег. Делать софт кроссплатформенным или нет - это одно из ключевых решений, принимаемых при реализации проекта. Данное решение влечёт за собой ряд последствий, позитивных и не очень:
    1. Расширение клиентской базы. Несомненный плюс. Однако с учётом того, что на большинстве пользовательских систем стоит Windows, прирост пользователей в home/personal сектора будет сравним со стат.погрешностью.
    2. Независимость от поставщика ОС и ключевых технологий. Плюс. Так же заметную роль играет не в personal/home секторах.
    3. Сужение спектра используемых языков и технологий (можно выбирать только те, где есть реальная кросс-платформенность). Несомненный минус.
    4. Повышенные требования к квалификации разработчиков. Минус, т.к. разработчики будут дорогие.
    5. Усложнённая поддержка (надо в support'`е держать спецов по разным системам).
    6. Появление новых технических рисков (разночтения в реализациях стандартов, "сырость" технологий на некоторых платформах и т.п.)

    Конкретный знак суммы этих плюсов или минусов зависит от конкретного проекта, так что многие вещи делать кроссплатформенными просто не выгодно - мороки больше, а пользы мало. Отсюда и растут ноги положения, когда не весь софт по дефолту задумывается как кросплатформенный.
 
Конференция "Прочее" » А у меня есть замечательная до идиотизма идея
Есть новые Нет новых   [134454   +43][b:0.001][p:0.003]