Login
Пинайте
NEW 28.06.06 10:13
in Antwort voxel3d 27.06.06 23:15
Насколько я знаю, прекомпиляция в qt всегда была неудобством, на который напирали сторонники гтк. Хотя у них тоже рыльце в пушку со своими жуткими зависимостями.
---
Хотел послать тебе 100$, но уже запечатал конверт.
---
Хотел послать тебе 100$, но уже запечатал конверт.
NEW 28.06.06 13:39
in Antwort scorpi_ 28.06.06 00:39
> А что ты вообще имеешь в виду под автоформатированием?
Автоматическое обновление заданных для используемого режима символов заполнения, вставка перевода строк, если надо, в строку при вставке в строку т.н. "электрических символов" - заданного для используемого режима набора печатных символов.
> Вот не знал, что для GUI язык должен обладать особенными свойствами...
Не так ч╦рно-бело. Скорее, для создания гуя _удобнее_ одни свойства языка и неудобнее другие. Ты зав╦л речь о том, что нет тру С++ либы для гуя, я говорю о том, что сам С++ не слишком хороший выбор здесь, на мой взгляд.
> И какой же язык по-твоему предопредел╦н для данной роли? Ява, Питон, Бейсик, Паскаль?
Не знаю, серебрянной пули нет. Может быть, биндинг Tk на что-нибудь. Например, на руби или питон для 90% апликух с гуем.
> Сложность - заодно он самый мощный, а сложные конструкции тебя никто использовать не заставляет.
Спецификация в тысячу страниц, это слишком много и сложно. Даже для создания чего-то простого, надо знать достаточно много и достаточно хорошо.
И что значит "самый мощный"? Гипотетические электростанции управляемые ПО на С++ дают больше тока? Гипотетические космические корабли использующие С++ ПО летают быстрее и выше?
Так, насколько знаю, там С++ близко нет. Ada какая-нибудь, смолтолк, ещ╦ что-нибудь, про С++ не слышал. "Мощность" это просто пиар. Язык Тьюринг-полный, пожалуй, ещ╦ очень перегруженный, вс╦.
> Неортогональность - поясни, плиз, что ты под этим понимаешь...
Возможность сделать что-то тысячью способами. Хуже, пожалуй, только перл в этом плане.
> Статичность - поясни, плиз, что ты под этим понимаешь...
Статическая типизация, пожалуй, ещ╦ отсутствие рефлексии.
Автоматическое обновление заданных для используемого режима символов заполнения, вставка перевода строк, если надо, в строку при вставке в строку т.н. "электрических символов" - заданного для используемого режима набора печатных символов.
> Вот не знал, что для GUI язык должен обладать особенными свойствами...
Не так ч╦рно-бело. Скорее, для создания гуя _удобнее_ одни свойства языка и неудобнее другие. Ты зав╦л речь о том, что нет тру С++ либы для гуя, я говорю о том, что сам С++ не слишком хороший выбор здесь, на мой взгляд.
> И какой же язык по-твоему предопредел╦н для данной роли? Ява, Питон, Бейсик, Паскаль?
Не знаю, серебрянной пули нет. Может быть, биндинг Tk на что-нибудь. Например, на руби или питон для 90% апликух с гуем.
> Сложность - заодно он самый мощный, а сложные конструкции тебя никто использовать не заставляет.
Спецификация в тысячу страниц, это слишком много и сложно. Даже для создания чего-то простого, надо знать достаточно много и достаточно хорошо.
И что значит "самый мощный"? Гипотетические электростанции управляемые ПО на С++ дают больше тока? Гипотетические космические корабли использующие С++ ПО летают быстрее и выше?

> Неортогональность - поясни, плиз, что ты под этим понимаешь...
Возможность сделать что-то тысячью способами. Хуже, пожалуй, только перл в этом плане.
> Статичность - поясни, плиз, что ты под этим понимаешь...
Статическая типизация, пожалуй, ещ╦ отсутствие рефлексии.
Dropbox - средство синхронизации и бэкапа файлов.
28.06.06 13:50
in Antwort scorpi_ 28.06.06 01:03
> Для кого это хорошо-то? Для программистов, или для фирмы Trolltech? По-моему второе. Для community стандартная реализация всегда лучше, ты и сам это здесь неоднократно заявлял (например в отношении хтмл).
Так я и сейчас говорю, что стандартная реализация это хорошо, поэтому, наличие препроцессора, который позволил избежать модификаций компилятора - это хорошо. Лучше для программистов и это уже показало время. Qt получила распространение и популярность. Программистам легко овладеть концепцией слотов / сигналов и прочих нововведений пришедших с препроцессором. В противоположность этому, я читал блог разработчика какой-то надстройки над Gtk+, для того чтобы иметь тру С++ либу. Он жаловался, что пойдя по пути использования шаблонов они получили то, что в один прекрасный момент их либа стала слишком сложна для пользователей и они получили их отток.
Так я и сейчас говорю, что стандартная реализация это хорошо, поэтому, наличие препроцессора, который позволил избежать модификаций компилятора - это хорошо. Лучше для программистов и это уже показало время. Qt получила распространение и популярность. Программистам легко овладеть концепцией слотов / сигналов и прочих нововведений пришедших с препроцессором. В противоположность этому, я читал блог разработчика какой-то надстройки над Gtk+, для того чтобы иметь тру С++ либу. Он жаловался, что пойдя по пути использования шаблонов они получили то, что в один прекрасный момент их либа стала слишком сложна для пользователей и они получили их отток.
Dropbox - средство синхронизации и бэкапа файлов.
NEW 28.06.06 13:53
in Antwort Russman 28.06.06 10:13
> Насколько я знаю, прекомпиляция в qt всегда была неудобством, на который напирали сторонники гтк. Хотя у них тоже рыльце в пушку со своими жуткими зависимостями.
Интересно, в ч╦м неудобство заключается? moc всегда ид╦т с либой при разработке. Оно автоматически вызывается прозрачно для программиста.
Интересно, в ч╦м неудобство заключается? moc всегда ид╦т с либой при разработке. Оно автоматически вызывается прозрачно для программиста.
Dropbox - средство синхронизации и бэкапа файлов.
NEW 28.06.06 14:07
in Antwort voxel3d 28.06.06 13:53
> Интересно, в чём неудобство заключается? ...
Не знаю. Просто натыкался в обсуждениях.Я гуем имел дело только в лабвью, коий является довольно специфическим и специализированным языком. С моей невежественной точки зрения - усложнение процесса разработки из-за включения дополнительных инструментов, например.
---
Баскетбол-это игpа,где yчаствyют две команды,а выигpывают негpы
Не знаю. Просто натыкался в обсуждениях.Я гуем имел дело только в лабвью, коий является довольно специфическим и специализированным языком. С моей невежественной точки зрения - усложнение процесса разработки из-за включения дополнительных инструментов, например.
---
Баскетбол-это игpа,где yчаствyют две команды,а выигpывают негpы
NEW 28.06.06 14:19
А попроще можно? Вот в Эклипсе я могу выделить кусок кода, выбрать из контекст-меню (или Ctrl+Shift+F) функцию "Format" и код отформатируется всплоть до пробелов и переносов которые для каждой конструкции синтакса можно задать отдельно. Как я могу сделать это в Эмаксе?
ОК, ты конкретно эти неудобные свойства назвать можешь?
Кто-то пару дней назад распостранялся о программах для профессионалов, и что они не могут быть простыми...
Ну так поинтересуйся. С++ уже применяется в safety critical программах, в то время Ада сходит на нет даже в DoD'овских проектах. Smalltalk вообще уже давно мёртв.
Ява на десктопе распостранения не получила, твои Руби, Питон, Тсl влачат жалкое существование в нишах, и никогда из них не выйдут. И при всём этом ты зяавляешь, что кроссплатформенная С++ библиотека не найдёт широкого отклика в массах???
Это не пиар, это возможность применить наиболее подходящую к данной проблеме парадигму, в то время как в более "простых" языках приходится извращаться подгоняя заложенную в язекы парадигму к проблеме...
Ага, лучше что-то типа Паскаля, в котором вообще нифа нельзя сделать...
Статическая типизация снижает количество ошибок, отсутствие рефлексии да, это минус, но это не настолько уж часто используемая фича.
in Antwort voxel3d 28.06.06 13:39
В ответ на:
Автоматическое обновление заданных для используемого режима символов заполнения, вставка перевода строк, если надо, в строку при вставке в строку т.н. "электрических символов" - заданного для используемого режима набора печатных символов.
Автоматическое обновление заданных для используемого режима символов заполнения, вставка перевода строк, если надо, в строку при вставке в строку т.н. "электрических символов" - заданного для используемого режима набора печатных символов.
А попроще можно? Вот в Эклипсе я могу выделить кусок кода, выбрать из контекст-меню (или Ctrl+Shift+F) функцию "Format" и код отформатируется всплоть до пробелов и переносов которые для каждой конструкции синтакса можно задать отдельно. Как я могу сделать это в Эмаксе?
В ответ на:
Не так чёрно-бело. Скорее, для создания гуя _удобнее_ одни свойства языка и неудобнее другие.
Не так чёрно-бело. Скорее, для создания гуя _удобнее_ одни свойства языка и неудобнее другие.
ОК, ты конкретно эти неудобные свойства назвать можешь?
В ответ на:
Спецификация в тысячу страниц, это слишком много и сложно. Даже для создания чего-то простого, надо знать достаточно много и достаточно хорошо.
Спецификация в тысячу страниц, это слишком много и сложно. Даже для создания чего-то простого, надо знать достаточно много и достаточно хорошо.
Кто-то пару дней назад распостранялся о программах для профессионалов, и что они не могут быть простыми...

В ответ на:
Так, насколько знаю, там С++ близко нет. Ada какая-нибудь, смолтолк, ещё что-нибудь, про С++ не слышал.
Так, насколько знаю, там С++ близко нет. Ada какая-нибудь, смолтолк, ещё что-нибудь, про С++ не слышал.
Ну так поинтересуйся. С++ уже применяется в safety critical программах, в то время Ада сходит на нет даже в DoD'овских проектах. Smalltalk вообще уже давно мёртв.
Ява на десктопе распостранения не получила, твои Руби, Питон, Тсl влачат жалкое существование в нишах, и никогда из них не выйдут. И при всём этом ты зяавляешь, что кроссплатформенная С++ библиотека не найдёт широкого отклика в массах???
В ответ на:
"Мощность" это просто пиар
"Мощность" это просто пиар
Это не пиар, это возможность применить наиболее подходящую к данной проблеме парадигму, в то время как в более "простых" языках приходится извращаться подгоняя заложенную в язекы парадигму к проблеме...
В ответ на:
Неортогональность [...] - Возможность сделать что-то тысячью способами.
Неортогональность [...] - Возможность сделать что-то тысячью способами.
Ага, лучше что-то типа Паскаля, в котором вообще нифа нельзя сделать...
В ответ на:
Статическая типизация, пожалуй, ещё отсутствие рефлексии.
Статическая типизация, пожалуй, ещё отсутствие рефлексии.
Статическая типизация снижает количество ошибок, отсутствие рефлексии да, это минус, но это не настолько уж часто используемая фича.
NEW 28.06.06 14:25
Почему тогда еще никто не сделал такую?
in Antwort scorpi_ 28.06.06 14:19
В ответ на:
И при всём этом ты зяавляешь, что кроссплатформенная С++ библиотека не найдёт широкого отклика в массах???
И при всём этом ты зяавляешь, что кроссплатформенная С++ библиотека не найдёт широкого отклика в массах???
Почему тогда еще никто не сделал такую?
NEW 28.06.06 14:41
in Antwort Simple 28.06.06 14:25
Почему не сделал? Сделали, и не одну. Вот gtkmm даже более-менее современно выглядит. Большинство просто старше чем стандарт, поэтому и не вписывается органично в совеременный С++. Дело в том что написать такую библиотеку, и утрясти её стандартизацию в комитете, это невообразимая прорва работы, поэтому за неё никто и не берётся...
А библиотек полно - http://www.atai.org/guitool/
А библиотек полно - http://www.atai.org/guitool/
NEW 28.06.06 14:51
in Antwort scorpi_ 28.06.06 14:41
А, ты имел в виду протащить ее в стандарт. Я не понял.
NEW 28.06.06 14:56
in Antwort Simple 28.06.06 14:51, Zuletzt geändert 28.06.06 17:07 (scorpi_)
Желающие включить гуй в стандарт имеются http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1901.html, тот же Stroustrup например
NEW 28.06.06 17:52
По умолчанию включен C++ Abbrev(после с++-mode ничего не меняется) так что наверное всё правильно.
Отступы не делает.
да
semantic.
in Antwort voxel3d 27.06.06 23:15, Zuletzt geändert 28.06.06 17:58 (игoрь)
В ответ на:
Ты имеешь в виду автоформатирование? Если да, то делает. Надо включить c++-mode: M-x c++-mode, если твоя версия емакса не включаила автоматически этот режим при открытии файла.
Ты имеешь в виду автоформатирование? Если да, то делает. Надо включить c++-mode: M-x c++-mode, если твоя версия емакса не включаила автоматически этот режим при открытии файла.
По умолчанию включен C++ Abbrev(после с++-mode ничего не меняется) так что наверное всё правильно.
Отступы не делает.
В ответ на:
ты же емаксом под линуксом пользуешься?
ты же емаксом под линуксом пользуешься?
да
В ответ на:
Про автодополнение почитай, я написал в статье, ты что пробуешь: etags или semantic?
Про автодополнение почитай, я написал в статье, ты что пробуешь: etags или semantic?
semantic.
NEW 28.06.06 19:22
in Antwort Russman 28.06.06 14:07
Всё заработало :-)
Как там насчёт цветовых схем?Всё ручками или есть уже готовое?
Белый фон напрягает.
Как там насчёт цветовых схем?Всё ручками или есть уже готовое?
Белый фон напрягает.
NEW 28.06.06 19:28
in Antwort voxel3d 23.06.06 14:15
NEW 28.06.06 22:09
in Antwort voxel3d 28.06.06 13:39
Поясняю насч╦т форматирования: в Эклипсе я могу вбить такой текст:
нажать Ctrl+Shift+F и получить
В Эмаксе я наш╦л только indentation...
В ответ на:
private int computeArrayIndex( int row, int column ) throws ArrayIndexOutOfBoundsException
{if(row>=dimension_||row<0||column>=dimension_||column<0)throw new ArrayIndexOutOfBoundsException();
return (row>column)?computeArrayIndex(column,row):column+row*dimension_-row*(row+1)/2;}
нажать Ctrl+Shift+F и получить
В ответ на:
private int computeArrayIndex( int row, int column ) throws ArrayIndexOutOfBoundsException {
if ( row >= dimension_ || row < 0 || column >= dimension_ || column < 0 )
throw new ArrayIndexOutOfBoundsException();
return ( row > column ) ? computeArrayIndex( column, row ) : column + row * dimension_ - row * ( row + 1 ) / 2;
}
В Эмаксе я наш╦л только indentation...
NEW 03.07.06 11:40
in Antwort scorpi_ 28.06.06 14:19, Zuletzt geändert 03.07.06 11:50 (voxel3d)
Всем привет, прошу прощения за молчание, я в отпуске был.
> А попроще можно? Вот в Эклипсе я могу выделить кусок кода, выбрать из контекст-меню (или Ctrl+Shift+F) функцию "Format" и код отформатируется всплоть до пробелов и переносов которые для каждой конструкции синтакса можно задать отдельно. Как я могу сделать это в Эмаксе?
+ последний пост с примером форматирования.
Попроще: C-x h C-M-\ отформатирует текст. Переносы не изменятся, произойдёт только выравнивание отступов. Пойду у народа спрошу, есть ли возможность как в эклипсе сделать, с изменением переносов, пока я не знаю этого.
> ОК, ты конкретно эти неудобные свойства назвать можешь?
Я их назвал уже, я думаю, что статическая типизация там не нужна, полезно наличие рефлексии и возможность в рантайме динамически создавать методы.
> Кто-то пару дней назад распостранялся о программах для профессионалов, и что они не могут быть простыми...
Должен же быть предел. Скажи, сколько времени по-твоему требуется для профессионального овладения С++?
> Ну так поинтересуйся. С++ уже применяется в safety critical программах
А откуда информация, я этого не знал. Где почитать можно?
> Это не пиар, это возможность применить наиболее подходящую к данной проблеме парадигму, в то время как в более "простых" языках приходится извращаться подгоняя заложенную в язекы парадигму к проблеме...
Есть: структурное, императивное, процедурное, частично объектно-ориентированное, обобщённое. Нет: декларативного, функционального, оо основанного на прототипах, логического. ИМХО, не в кассу довод.
Я читал, в Lisp можно изменять не только синтаксис, но и семантику. Вот это пример "мощности".
> Ага, лучше что-то типа Паскаля, в котором вообще нифа нельзя сделать...
Неправда. Я сам не люблю Паскаль, но всё там можно сделать. Правда, используя лишь процедурную парадигму (всякие императивные и пр. не в счёт).
> Статическая типизация снижает количество ошибок
Я книги тоже читаю. Всё-таки, роль её преувеличена.
> отсутствие рефлексии да, это минус, но это не настолько уж часто используемая фича.
Ровно два метода по несколько строк каждый -- первый собирает информацию из сборки о классах поддерживающих определённый интерфейс и сохраняет список типов, второй из списка типов делает список объектов. Это в С#. В С++ я пишу фабрику классов которая ограниченна предопределённым набором классов, объекты которых она умеет создавать. Я не могу в С++ ограничиться просто добалением класса в программу без изменения остального кода, чтобы класс автоматически использовался. В языках с рефлексией я могу просто добавить класс не меняя ни одной строки вообще в других местах.
Фабрики классов используются повсеместно. Использование рефлексии в них оказывается весьма полезным. Не такая уж это редко используемая фича.
> А попроще можно? Вот в Эклипсе я могу выделить кусок кода, выбрать из контекст-меню (или Ctrl+Shift+F) функцию "Format" и код отформатируется всплоть до пробелов и переносов которые для каждой конструкции синтакса можно задать отдельно. Как я могу сделать это в Эмаксе?
+ последний пост с примером форматирования.
Попроще: C-x h C-M-\ отформатирует текст. Переносы не изменятся, произойдёт только выравнивание отступов. Пойду у народа спрошу, есть ли возможность как в эклипсе сделать, с изменением переносов, пока я не знаю этого.
> ОК, ты конкретно эти неудобные свойства назвать можешь?
Я их назвал уже, я думаю, что статическая типизация там не нужна, полезно наличие рефлексии и возможность в рантайме динамически создавать методы.
> Кто-то пару дней назад распостранялся о программах для профессионалов, и что они не могут быть простыми...
Должен же быть предел. Скажи, сколько времени по-твоему требуется для профессионального овладения С++?
> Ну так поинтересуйся. С++ уже применяется в safety critical программах
А откуда информация, я этого не знал. Где почитать можно?
> Это не пиар, это возможность применить наиболее подходящую к данной проблеме парадигму, в то время как в более "простых" языках приходится извращаться подгоняя заложенную в язекы парадигму к проблеме...
Есть: структурное, императивное, процедурное, частично объектно-ориентированное, обобщённое. Нет: декларативного, функционального, оо основанного на прототипах, логического. ИМХО, не в кассу довод.
Я читал, в Lisp можно изменять не только синтаксис, но и семантику. Вот это пример "мощности".
> Ага, лучше что-то типа Паскаля, в котором вообще нифа нельзя сделать...
Неправда. Я сам не люблю Паскаль, но всё там можно сделать. Правда, используя лишь процедурную парадигму (всякие императивные и пр. не в счёт).
> Статическая типизация снижает количество ошибок
Я книги тоже читаю. Всё-таки, роль её преувеличена.
> отсутствие рефлексии да, это минус, но это не настолько уж часто используемая фича.
Ровно два метода по несколько строк каждый -- первый собирает информацию из сборки о классах поддерживающих определённый интерфейс и сохраняет список типов, второй из списка типов делает список объектов. Это в С#. В С++ я пишу фабрику классов которая ограниченна предопределённым набором классов, объекты которых она умеет создавать. Я не могу в С++ ограничиться просто добалением класса в программу без изменения остального кода, чтобы класс автоматически использовался. В языках с рефлексией я могу просто добавить класс не меняя ни одной строки вообще в других местах.
Фабрики классов используются повсеместно. Использование рефлексии в них оказывается весьма полезным. Не такая уж это редко используемая фича.
Dropbox - средство синхронизации и бэкапа файлов.
NEW 03.07.06 11:46
in Antwort Chipolino 28.06.06 19:22
> Как там насчёт цветовых схем?Всё ручками или есть уже готовое?
M-x font-lock-mode
http://www.emacs.uniyar.ac.ru/doc/html/emacs_22.html#SEC190
M-x font-lock-mode
http://www.emacs.uniyar.ac.ru/doc/html/emacs_22.html#SEC190
Dropbox - средство синхронизации и бэкапа файлов.
NEW 03.07.06 12:00
Я-то думал, что речь именно о реформатировании кода. Одни разочарования с этим эмаксом :)
in Antwort voxel3d 03.07.06 11:40
В ответ на:
Попроще: C-x h C-M-\ отформатирует текст. Переносы не изменятся, произойдёт только выравнивание отступов. Пойду у народа спрошу, есть ли возможность как в эклипсе сделать, с изменением переносов, пока я не знаю этого.
Попроще: C-x h C-M-\ отформатирует текст. Переносы не изменятся, произойдёт только выравнивание отступов. Пойду у народа спрошу, есть ли возможность как в эклипсе сделать, с изменением переносов, пока я не знаю этого.
Я-то думал, что речь именно о реформатировании кода. Одни разочарования с этим эмаксом :)
NEW 03.07.06 12:21
in Antwort scorpi_ 28.06.06 14:41
> Почему не сделал? Сделали, и не одну. Вот gtkmm даже более-менее современно выглядит... А библиотек полно - http://www.atai.org/guitool/
Ага, как же, "полно". Список в котором смешалось вс╦ на свете, и жаба и сдл и какие-то либы для атари. Что из этого списка реально сейчас используется как С++ кроссплатформенные гуи библиотеки?
Вот показательная история: http://qt.osdn.org.ua/gtkmm-qt.html, правда, с убитыми ссылками.
Ага, как же, "полно". Список в котором смешалось вс╦ на свете, и жаба и сдл и какие-то либы для атари. Что из этого списка реально сейчас используется как С++ кроссплатформенные гуи библиотеки?
Вот показательная история: http://qt.osdn.org.ua/gtkmm-qt.html, правда, с убитыми ссылками.
Dropbox - средство синхронизации и бэкапа файлов.
NEW 03.07.06 12:25
in Antwort Simple 03.07.06 12:00
> Одни разочарования с этим эмаксом :)
У тебя-то да, конечно, сидя в редакторе фаре сплошные разочарования в Емаксе. Ага.
У тебя там букмарки, хоть, есть?
У тебя-то да, конечно, сидя в редакторе фаре сплошные разочарования в Емаксе. Ага.


Dropbox - средство синхронизации и бэкапа файлов.