Re[34]: Windows vs Linyx
От: Roman_M rgmroman.narod.ru
Дата: 26.06.03 06:44
Оценка:
Здравствуйте, m.a.g., Вы писали:


MAG>>>В винде — да, из-за убогости консоли. А вот в линуксе bash будет помощнее cmd.

R_M>>Бесспорно помощнее, но все равно удобней использовать mc, чем только одну командную строку.
MAG>mc нужен только для одного — шариться по директориям и смотреть, где что лежит. Все остальное делается в mc медленнее, чем в plain bash. Проверено опытом.

Ну plain bash это уже перегиб, из mc точно также можно команды исполнять, а писать длинные названия файлов руками тоже обломно.
Re[35]: Windows vs Linyx
От: m.a.g. Мальта http://dottedmag.net/
Дата: 26.06.03 07:01
Оценка:
Здравствуйте, Roman_M, Вы писали:

R_M>Ну plain bash это уже перегиб, из mc точно также можно команды исполнять, а писать длинные названия файлов руками тоже обломно.


Автодополнение? Меня, скажем, раздражает привычка mc вешать переключение панелек по tab, постоянно еще куда-нибудь перевешиваю. сбросить имя файла в комстроку — это, конечно, хорошо, но ведь до файла еще добраться надо, а переносить руку с основной клавиатуры на курсор и обратно — это долго. я уж лучше начало имени наберу, да tab нажму.
... << RSDN@Home 1.1 alpha 1 >>
Re[27]: Windows vs Linyx (кластеры)
От: kcp  
Дата: 26.06.03 07:35
Оценка:
Здравствуйте, VladD2, Вы писали:

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


kcp>>Я не про распределение нагрузки спрашиваю. Я хочу знать про сам кластер. Т.е. про "эмулятор" Массивно-параллельного компьютера с распределенной памятью. (Да простят меня за "эмулятор". Это я для упрощения сказал).


VD>А кластеры никогда ими не были. Кластер это всего лишь несколько компьютеров объедененных в общую связку и выполняющие одну задачу.

Это вычислительная сеть.

VD>Применяются в двух случаях при необходимости распаралеллить вычисления

Это да.

VD>или для обеспечения большей наджености (доступности, устойчивости к сбоям оборудования).

А это нет.

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

Видимо это так. Раз уж появились бызы данных поверх кластеров.

kcp>>Т.е. оно в любой винде уже встроенное есть?

VD>Нет. Оно есть в эдвансед сервере и выше. Так же доступно в специальном продукте — AppCenter. Но общая идея такова. Есть абстракция — COM+. В нее заложены идеи распределения рагрузки и устойчивости к сбоям. Ты можешь писать приложения которые будут масштабироваться от простго однопроцесорного сервера, до кластра суперкомпьютеров. При этом код будет один и тот же. Жертвой является то, что приходится делать так называемый стэйтлес-код.

kcp>>Ты уверен, что кластерное решение встроено в ОС.


VD>Да. Но не во все версии. Те что используются в tpc имеют такую поддержку.


kcp>> Кластера под виндой, например Новгородский, сообщают о себе примерно следующее


kcp>>########################################################################################

kcp>>Кластер передан ННГУ в рамках академической программы компании Intel; программное обеспечение передано компанией Microsoft.

kcp>>Серверная часть:

kcp>>Платформа: Microsoft Windows 2000 Advanced Server
kcp>>MPI: MPICH.NT.1.2.0.4, MP MPICH
kcp>>Библиотеки: MKL, PLAPACK, LINPACK
kcp>>########################################################################################
VD>Основное я выделил. Остальное уже примочки.
Эту штуку надо выделять. MPI: MPICH.NT.1.2.0.4, MP MPICH
Я тебе опять полностью перешлю. Посмотри внимательно пожалуйста.
########################################################################################
Кластер передан ННГУ в рамках академической программы компании Intel; программное обеспечение передано компанией Microsoft.

Серверная часть:
Платформа: Microsoft Windows 2000 Advanced Server
MPI: MPICH.NT.1.2.0.4, MP MPICH
Библиотеки: MKL, PLAPACK, LINPACK

Рабочие станции:
Платформа: Microsoft Windows 2000 Professional
MPI: MPICH.NT.1.2.0.4, MP MPICH
Среда разработки: Microsoft Visual Studio 6.0
Библиотеки: MKL, PLAPACK, LINPACK

В качестве второй операционной системы на рабочих станциях установлен Linux 7.0 А так же:
MPI: MPICH v. 1.2.1
Компиляторы: gcc v. 2.96, gcc-g77 v. 2.96
Библиотеки: MPIBLACS, ScaLAPACK VERSION 1.6
########################################################################################

kcp>>Т.е там стоит MPICH, который уж точно не от MS (смотри сюда http://www-unix.mcs.anl.gov/mpi/mpich/ )

kcp>>Никаким com+ там просто не пахнет. Причём заметь, программное обеспечение передано компанией Microsoft.
VD>Ты спрасил какими средствами параллелилась нагрузка. Я тебе ответил.
Да не нагрузка параллелиться, а задача. Нагрузка балансируется. Нагрузка распределяется между узлами вычислительной сети. Часто даже вручную. Из систем автоматической балансировки загрузки смотри на MOSIX.

VD>Сам кластер был созан средствами ОС.

Ну да. Совсем без ОС кластера не работают. Гетерогенные кластера работают даже под разными ОС. Смесь такая вроде Win+Lin. В образовательных целях собирают и такое.

VD>Ты же говоришь (видмо, я в этой области профан) о специальном ПО для научных расчетов. Возможно это аналог КОМ+-а, а возможно и нечто другое. Я просто никогда этим не занимался.

VD>КОМ+ позволяет производить межпроцесные/машинные вызовы и распределять нагрузку на разные машины кластера. Ко всему прочему он является монитором транзкций (т.е. позволяет осуществлять распределенные транзакции), что в основном и тербуется для того бэнчмарка.
VD>Остальноые выводы думаю можно сделать и так. Так что от подробностей я воздержусь. Если что, как я уже говорил, форум по КОМ к твоим услугам.
Нужен Olej. Он наверное разбирается в обоих случаях. А так наши знания похоже не пересекаются.

kcp>>Да не разбираюсь я в базах данных.

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

kcp>>Я вообще всегда думал, что подобные системы строятся по принципу http://www.google.com. Т.е. просто одновременно запущенно несколько процессов, обрабатывающих запросы, плюс система балансировки загрузки запросами этих процессов.

VD>Ну, это в очень сильно обобщенном виде. Реально там море тонкостей.
от модератора 2 vvaizh
От: _MarlboroMan_ Россия  
Дата: 26.06.03 07:45
Оценка:
Здравствуйте, vvaizh.

Настоятельно рекомендую Вам воздерживаться от фраз примерно следующего содержания:

"этим ограничиваются ваши познания?"
"Это говорит только о твоей пока ещё не самой высокой квалификации"
"Перестань молоть чепуху..."


Также замечу, что несмотря на то, что данная дисскусия является весьма "жаркой", большинство удаленных (по причине оффтопности и/или нарушения п.5 обязательных правил) веток содержат Ваши сообщения.
... << RSDN@Home 1.1 alpha 1 >>

— сколько программистов надо чтобы заменить сгоревшую лампочку?
— сколько не бери, а лампочку не поменять — проблема аппаратная, программным путем не решается...
Re: от модератора 2 vvaizh
От: vvaizh http://izh-test.sourceforge.net/
Дата: 26.06.03 07:48
Оценка:
Здравствуйте, _MarlboroMan_, Вы писали:

Ok
http://izh-test.sourceforge.net/russian/introduction.html
Re[28]: Ну вот опять новости
От: mihailik Украина  
Дата: 26.06.03 07:50
Оценка:
M>У меня есть текст в Word. Пофигу замечательное мышление, мне прислали текст в Word. Пофигу, что есть сотни офисов, есть PDF, Tex и т.д. Мне прислали текст в Word.

R_M>А завтра директор попросит перевести эти таблицы в какой-нибудь аналог Excel'я под Mac. Давай применишь Windows c MS Office'ом ? Потребуются какие-то свои условия тогда или нет ? Или что то еще потребудется ?


Зачем директору Excel под Mac? Он не похож на идиота. Это бизнес, а не детский сад.


M>Ну тогда нечего демагогию заводить. Сейчас, здесь и в реальных современных условиях Линукс для десктопа не годится. И не годится для автоматизации такй рутины. Давай не будем обсуждать почему, что к этому привело, да жалиться на зловредных барабашек. Какая разница — всё равно на следующие пять лет совершенно точно, что везде будет Windows. А на Линукс будут переходить отдельные специальные муниципалитеты.


R_M>Или отдельными государствами.


Ага. Солнечными системами и галактиками.
... << RSDN@Home 1.0 beta 7a >>
Re[31]: Windows vs Linyx
От: mihailik Украина  
Дата: 26.06.03 07:50
Оценка:
R_M>В Linux консольные программы развиты гораздо лучше, консоль на уровне MS-DOS конечно же не очень приспособлена для таках вещей. С тем что работа в консоле Windows ужасна и спорить нечего.

Что именно тебя ужасает в консоли Windows? Хотя это, наверное, врачебная тайна
... << RSDN@Home 1.0 beta 7a >>
Re[29]: Ну вот опять новости
От: m.a.g. Мальта http://dottedmag.net/
Дата: 26.06.03 08:11
Оценка:
Здравствуйте, mihailik, Вы писали:

M>Зачем директору Excel под Mac? Он не похож на идиота. Это бизнес, а не детский сад.


Директору плевать, что у него там крутится: WinXP или CP/M. Главное, чтобы работа шла.
... << RSDN@Home 1.1 alpha 1 >>
Re[58]: Windows vs Linyx
От: Plutonia Experiment Беларусь http://blogs.rsdn.org/ikemefula
Дата: 26.06.03 08:22
Оценка:
Здравствуйте, vvaizh, Вы писали:

PE>>Если только спелчекер, то можно и без COM обойтись. COM — способ организации программы из разных модулей.

PE>>Готовых.
V>Вот и я про чё.. Про то что пример со спеллчекером неудачный..
V>и удачных ты пока вообще не привёл..
V>Хотя они есть..
V>Но для desctop приложений, на которые мы ориентируемся их доля исчезающ емала..

Открой OLE View и посчитай, думаю мало тебе не покажется.
IE — это десяток компонент. Их же использует аутлук.
Офисные аппликации — то же самое. Все тулбары, меню и тд — это комики. Они общие для всего офиса.
IE показывает контролы только как COMики.
Если у тея есть VS7 и MSDN к ней — набери урл из инета в строке и любуйся.
Не COM аппликаций большого масштаба очень мало.
XML,ADO,HTML,MAPI,Shell — это все COM
Если прога не является COM компонетном, то она их использует.



PE>>Но юзает ZLib.

PE>>Тот код, что я бросил — класс ZipFile. Такой же есть и в C++.
V>Я тебя не очень удивлю, если скажу, что zlib — это с-шная бибиотека..
V>И код на C++ для неё как враппер для COM для С++, только для удобства..

Я знаю, что она на си. У меня есть исходники и есть поставка отдельная без исходников.


PE>>zlib.pyd — вот он. Это как я понял, хитрая дллка

PE>>Для него есть еще файл zlib.lib
PE>>Сишной либе нужны или исходники или h-файл
V>зачем я не понял сишной либе исходники?
V>h-файл как мы выяснили и для COM создаётся..

Я же говорю — или то или другое. Для COM не надо ничегою


PE>>Просекаешь ?

V>а как же *.tlb?
V>два файла нужно.. по любому..

Одного достаточно. Tlb обычно идет как ресурсы в длл или exe.

V>как и для zlib:

V>*.h + *.lib (который на linux суть so)

А где мне взять заголовок для для другого языка ?


PE>>Python работает чз COM с моими объектами. И не надо дополнительных процессов и тд.

V>Тоже самое делается и без COM великолепно..
V>http://www.xs4all.nl/~bsarempt/python/news.html

Если ты прочитаешь, то увидишь, что пришлось полностью портировать библиотеку.
А если и на перле надо делать ? Будешь искать перловую билиотеку ?
А что если это все в одном проекте надо делать ?
У нас 7 языков. Искать портированные билиотеки для каждого ?

Как ни крути, но нужна компонентная технология. Не хочешь COM, бери CORBA или Java.
В жаве есть JPython и много много чего другого.

PE>>Но MFC — это надстройка над WinAPI.

PE>>KDE — это надстройка над QT, которая надстройка над X Windows. QT не напрямую юзает X сервер, насколько помню.
PE>>Большинство классов в MFC наследуется от CCmdTarget.

V>Ну и что.. Я больше скажу, ещё больше классов наследуется от CObject..

V>В QT такие же классы есть..
V>COM то тут причём..
V>Или ты намекаешь, что там прямо в CCmdTarget поддержка COM есть?
V>Ну и что.. все примеры, которые ты привёл эту поддержку не используют..

Если класс должен быть доступен из Питона, то его комиком сделать пара пустяков.
Как тут поможет PyQT ?

PE>>Указатель — это далеко не COM.

V>Ну wrapper же? И причём без COM он и не нужен совсем.
Естественно. Он написан для того, чтобы управлять счетчиком ссылок на объект автоматически.


PE>>Для VBS, JS, J#, С# и генерировать не надо — они tlb понимают.

PE>>Для паскаля надо генерировать паскалевский unit.
V>Ну дык тоже самое делается для idl.. на linux
V>толку то от этого..
V>всё равно генерируется wrapper..
V>а для spellchecker-а их генерировать не нужно, потому что они для всех языков и так есть..
Это потому, что спелчекер использует текстовый интерфейс.
А чтото более структурированое и более пригодное к реальным расчетам, с текстом не связанные ?
Например библиотека для линейного программирования манипулирует с матрицами.
Выводишь матрицу в stdout, друго модуль подхватывает, перегоняет в двоичный вид, считает, результаты снова в текстовый stdout , другой модуль снова перегоняет в двоичный вид, считает и снова выдает рузультат.

Такие цепочки никому не нужны. Долго это.


PE>>Ситуацию не сильно то и облегчило. Я в половине случаев не пользовался никакими вспомогалками вроде CComPtr.

V>Ну не им, дык ждругим враппером..

Не поверишь, для быстродейсвия юзается raw interfaces.
Разницы — сам пишешь pIface->AddRef() и pIface->Release()

PE>>И при этом все равно имеешь ООП.

V>?
V>COM он вообще на чистом C написан.

Билиотека для поддержки COM или COM компоненты ?
OLE32.dll — это чистный С++. Компоненты пиши, как хочешь.
В винде вообще мало Сишного кода. Только в недрах ядра.

V>Так что без врапперов его в чисто объектном стиле нельзя использовать..

V>если ты пишешь на asm то не фиг кричать про ООП..


PE>>4. ГУИ спелчекера должен быть встроен в мою аппликацию. Например это панелька отдельная, которую вызывает пользователь.

V>Что там должно быть? кнопка "запустить проверку"?

ГУИ — это списки возможных значений. Словари и тд.

PE>>5. Еще нужна такая возможность — ты пишешь текст, а спеллчекер автоматом корректирует слова или завершает их правильно

V>Ты вообще, соображаешь какой объём кода для этого нужно написать, даже и на OLE?
V>Кинь ка мне interface который позволит мне в моей проге это легко сделать..

Это не один интерфейс.



Вот тебе спелчекер без ГУи.
У него два интефейса — для управления и эвенты.
Это более гибкая фича, нежели char* ispell(const char*);

// Generated .IDL file (by the OLE/COM Object Viewer)
// 
// typelib filename: wspell.ocx

[
  uuid(ACEFFC23-4628-11D1-B14A-105C01C13001),
  version(1.0),
  helpstring("WSpell ActiveX Control module"),
  helpfile("WSpell.hlp"),
  helpcontext(00000000)
]
library WSPELLLib
{
    // TLib :     // TLib : OLE Automation : {00020430-0000-0000-C000-000000000046}
    importlib("Stdole2.tlb");

    // Forward declare all types defined in this typelib
    dispinterface _DWSpell;
    dispinterface _DWSpellEvents;

    [
      uuid(ACEFFC24-4628-11D1-B14A-105C01C13001),
      helpstring("Dispatch interface for WSpell Control"),
      hidden
    ]
    dispinterface _DWSpell {
        properties:
            [id(0x00000006), helpcontext(0x0000276d)            
]
            short SuggestionCount;
            [id(0x00000007), helpcontext(0x00002756)            
]
            BSTR MisspelledWord;
            [id(0x00000008), helpcontext(0x0000275c)            
]
            BSTR ReplacementWord;
            [id(0xfffffdfb), helpcontext(0x00002777)            
]
            BSTR Text;
            [id(0x00000009), helpcontext(0x0000279a)            
]
            long WordOffset;
            [id(0x0000000a), helpcontext(0x00002798)            
]
            long WordCount;
            [id(0x0000000b), helpcontext(0x0000279c)            
]
            long WordsReplacedCount;
            [id(0x0000000c), helpcontext(0x0000272d)            
]
            VARIANT_BOOL CaseSensitive;
            [id(0x0000000d), helpcontext(0x0000272f)            
]
            VARIANT_BOOL CanUndo;
            [id(0x0000000e), helpcontext(0x00002731)            
]
            VARIANT_BOOL CatchDoubledWords;
            [id(0x0000000f), helpcontext(0x00002733)            
]
            VARIANT_BOOL CatchMixedCaseWords;
            [id(0x00000010), helpcontext(0x00002735)            
]
            VARIANT_BOOL CatchWordsWithDigits;
            [id(0x00000011), helpcontext(0x00002737)            
]
            BSTR CurrentWord;
            [id(0x00000012), helpcontext(0x00002740)            
]
            VARIANT_BOOL IgnoreAllCapsWords;
            [id(0x00000013), helpcontext(0x00002744)            
]
            VARIANT_BOOL IgnoreMixedCaseWords;
            [id(0x00000014), helpcontext(0x00002746)            
]
            VARIANT_BOOL IgnoreWordsWithDigits;
            [id(0x00000015), helpcontext(0x0000274a)            
]
            short MainDictionaryCount;
            [id(0x00000016), helpcontext(0x0000274d)            
]
            BSTR MainDictionaryFiles;
            [id(0x00000017), helpcontext(0x00002750)            
]
            short MaxSuggestions;
            [id(0x00000018), helpcontext(0x00002752)            
]
            short MinSuggestionDepth;
            [id(0x00000019), helpcontext(0x0000275a)            
]
            VARIANT_BOOL PhoneticSuggestions;
            [id(0x0000001a), helpcontext(0x00002762)            
]
            VARIANT_BOOL SplitContractedWords;
            [id(0x0000001b), helpcontext(0x00002764)            
]
            VARIANT_BOOL SplitHyphenatedWords;
            [id(0x0000001c), helpcontext(0x00002766)            
]
            VARIANT_BOOL SplitWords;
            [id(0x0000001d), helpcontext(0x00002768)            
]
            VARIANT_BOOL StripPossessives;
            [id(0x0000001e), helpcontext(0x0000276f)            
]
            short SuggestionDepth;
            [id(0x0000001f), helpcontext(0x00002771)            
]
            short SuggestionDepthIncrement;
            [id(0x00000020), helpcontext(0x00002775)            
]
            VARIANT_BOOL SuggestSplitWords;
            [id(0x00000021), helpcontext(0x0000277b)            
]
            long TextLength;
            [id(0x00000022), helpcontext(0x0000277d)            
]
            VARIANT_BOOL TypographicalSuggestions;
            [id(0x00000023), helpcontext(0x0000277f)            
]
            BSTR UndoNewText;
            [id(0x00000024), helpcontext(0x00002781)            
]
            long UndoOffset;
            [id(0x00000025), helpcontext(0x00002783)            
]
            BSTR UndoOldText;
            [id(0x00000026), helpcontext(0x00002788)            
]
            short UserDictionaryCount;
            [id(0x00000027), helpcontext(0x0000278a)            
]
            BSTR UserDictionaryFiles;
            [id(0x00000028), helpcontext(0x00002742)            
]
            VARIANT_BOOL IgnoreCapitalizedWords;
            [id(0x00000001), helpcontext(0x0000275e)            
]
            VARIANT_BOOL ShowContext;
            [id(0x00000002), helpcontext(0x00002760)            
]
            VARIANT_BOOL ShowDialog;
            [id(0x00000003), helpcontext(0x00002779)            
]
            long TextControlHWnd;
            [id(0x00000004), helpcontext(0x0000273a)            
]
            OLE_XPOS_PIXELS DialogLeft;
            [id(0x00000005), helpcontext(0x0000273c)            
]
            OLE_YPOS_PIXELS DialogTop;
            [id(0x00000029), helpcontext(0x00002773)            
]
            short SuggestionScoreRange;
            [id(0x0000002a), helpcontext(0x00002754)            
]
            short MinSuggestionScore;
            [id(0x0000002b), helpcontext(0x0000272b)            
]
            VARIANT_BOOL AutoCorrect;
            [id(0x0000002c), helpcontext(0x00002796)            
]
            BSTR Version;
            [id(0x0000002d), helpcontext(0x00002758)            
]
            long MisspelledWordCount;
            [id(0x0000002e), helpcontext(0x0000273e)            
]
            short ErrorCode;
            [id(0x0000002f), helpcontext(0x000027a0)            
]
            VARIANT_BOOL IgnoreNonAlphaWords;
            [id(0x00000030), helpcontext(0x0000279e)            
]
            VARIANT_BOOL IgnoreDomainNames;
            [id(0x00000031), helpcontext(0x000027e4)            
]
            VARIANT_BOOL AllowAccentedCaps;
            [id(0x00000032), helpcontext(0x000027e5)            
]
            VARIANT_BOOL IgnoreHTMLMarkups;
        methods:
            [id(0x0000004a), propget]
            BSTR Suggestion(short index);
            [id(0x0000004b), propget]
            BSTR MainDictionary(short index);
            [id(0x0000004c), propget]
            BSTR UserDictionary(short index);
            [id(0x00000033)]
            void AddMainDictionary(BSTR fileName);
            [id(0x00000034)]
            void AddUserDictionary(BSTR fileName);
            [id(0x00000035)]
            void ClearTempDictionary();
            [id(0x00000036)]
            void Close();
            [id(0x00000037)]
            short CreateUserDictionary(
                            BSTR fileName, 
                            short language);
            [id(0x00000038)]
            void DeleteFromUserDictionary(
                            BSTR userDictFile, 
                            BSTR word);
            [id(0x00000039)]
            void IgnoreAllWord();
            [id(0x0000003a)]
            void IgnoreWord();
            [id(0x0000003b)]
            VARIANT_BOOL NextWord();
            [id(0x0000003c)]
            void RemoveMainDictionary(BSTR mainDictFile);
            [id(0x0000003d)]
            void RemoveUserDictionary(BSTR userDictFile);
            [id(0x0000003e)]
            short ReplaceAllWord();
            [id(0x0000003f)]
            short ReplaceWord();
            [id(0x00000040)]
            short Resume();
            [id(0x00000041)]
            short Start();
            [id(0x00000042)]
            void Suggest();
            [id(0x00000043)]
            VARIANT_BOOL TestWord(BSTR word);
            [id(0x00000044)]
            void Undo();
            [id(0x00000045)]
            void ShowUserDictionaryDialog();
            [id(0x00000046)]
            void ShowOptionsDialog();
            [id(0x0000004d), propget]
            BSTR UserDictionaryWord(
                            BSTR userDict, 
                            long index);
            [id(0x0000004e), propget]
            long UserDictionaryWordCount(BSTR userDict);
            [id(0x0000004f), propget]
            short UserDictionaryWordAction(
                            BSTR userDict, 
                            BSTR word);
            [id(0x00000050), propget]
            BSTR UserDictionaryOtherWord(
                            BSTR userDict, 
                            BSTR word);
            [id(0x00000047)]
            long DeleteWord();
            [id(0x00000048)]
            short AddToUserDictionary(
                            BSTR userDict, 
                            BSTR word, 
                            short action, 
                            BSTR otherWord);
            [id(0x00000049)]
            short CheckBackground(long ctrlHWnd);
            [id(0xfffffdd8)]
            void AboutBox();
    };

    [
      uuid(ACEFFC25-4628-11D1-B14A-105C01C13001),
      helpstring("Event interface for WSpell Control")
    ]
    dispinterface _DWSpellEvents {
        properties:
        methods:
            [id(0x00000001), helpcontext(0x000027d6)]
            void MisspelledWord();
            [id(0x00000002), helpcontext(0x000027da)]
            void WordWithDigits();
            [id(0x00000003), helpcontext(0x000027d7)]
            void MixedCaseWord();
            [id(0x00000004), helpcontext(0x000027d4)]
            void DoubledWord();
            [id(0x00000005), helpcontext(0x000027d1)]
            void Capitalization();
            [id(0x00000006), helpcontext(0x000027d2)]
            void ConditionallyChangeWord();
            [id(0x00000007), helpcontext(0x000027d5)]
            void EndOfText();
            [id(0x00000008), helpcontext(0x000027d9)]
            void UndoChange();
            [id(0x00000009), helpcontext(0x000027d8)]
            void ReplaceWord();
            [id(0x0000000a), helpcontext(0x000027d3)]
            void DeleteWord(long offset);
    };

    [
      uuid(ACEFFC26-4628-11D1-B14A-105C01C13001),
      helpstring("WSpell Control"),
      helpcontext(0x00000001),
      licensed,
      control
    ]
    coclass WSpell {
        [default] dispinterface _DWSpell;
        [default, source] dispinterface _DWSpellEvents;
    };
};
Re[17]: Windows vs Linyx
От: Plutonia Experiment Беларусь http://blogs.rsdn.org/ikemefula
Дата: 26.06.03 08:26
Оценка:
Здравствуйте, fAX, Вы писали:

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

fAX>В Мозилле можно всё . Даже IDE сделать (были прецеденты ).
fAX>Вот, например, человек файл-мэнеджер написал...
fAX>Извините за большую картинку.

Зайди в IE->View->Explorer Bar->Folders тож самое будет. И писать ничего не надо.
Re[22]: Windows vs Linyx
От: Plutonia Experiment Беларусь http://blogs.rsdn.org/ikemefula
Дата: 26.06.03 08:31
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>В 93 даже 3.11 небыло. Появилась NT наньше 95, но не на много. Максимум год. К тому же до версии 3.5 — это была в своего рода эллитарная игрушка (вроде полуоси). Софта под нее небыло, а 16-и быитный шол очень плохо. К выходу 95-ых появился mssql 6.0, а потом и 6.5, а потом и 32-ух битный Офис и NT пошла в массы.



Зато NT3.51 сертификатов кучу имела.
Как насчет сертификатов у линукса ? Дебиан тут не уступет винде и коммерческие Юниксы тож.
А как на счет линуксов не от дебиана ?
Re[31]: Windows vs Linyx (кластеры)
От: _MarlboroMan_ Россия  
Дата: 26.06.03 08:39
Оценка: 24 (1) -1
Здравствуйте, Olej, Вы писали:

O>А _MarlboroMan_ — так он просто шутит, он хотел сказать, что "кластеры ему вовсе до фени", он просто хотел сказать что: "от русских вообще ничего путнего ждать нельзя" ...

O>наверное, хочет выделить свою ... арийскую (? — может иудейскую?) избранность... Но это бывает, и относится к subj на совсем других форумах...

отвечаю как частное лицо (не как модератор).

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

ЗЫ. стоит относиться к другим ТАК, КАК ты хотелбы чтоб относились к тебе.
... << RSDN@Home 1.1 alpha 1 >>

— сколько программистов надо чтобы заменить сгоревшую лампочку?
— сколько не бери, а лампочку не поменять — проблема аппаратная, программным путем не решается...
Re[22]: Windows vs Linyx
От: Plutonia Experiment Беларусь http://blogs.rsdn.org/ikemefula
Дата: 26.06.03 08:46
Оценка: +1 -1
Здравствуйте, m.a.g., Вы писали:

VD>>А вот что-то в линуксе о едином стандарте я не слышал. Что придумали за пследний год-два?


MAG>То-то когда я картику из паинта вставлял в ворд97 при включенном сократе98 у меня 100% висла W98SE. Ни на каком другом сочетании не повторяется


Ты в курсе, сколько занимает БМП файл средних размеров ?
А в паинте он в 24 битном цвете. Скриншот займет пару мегов как минимум. Если на тачке памяти мало — 16Мег, то естествено зависнет.
Re[59]: Windows vs Linyx
От: vvaizh http://izh-test.sourceforge.net/
Дата: 26.06.03 09:28
Оценка:
Здравствуйте, Plutonia Experiment, Вы писали:

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


PE>>>Если только спелчекер, то можно и без COM обойтись. COM — способ организации программы из разных модулей.

PE>>>Готовых.
V>>Вот и я про чё.. Про то что пример со спеллчекером неудачный..
V>>и удачных ты пока вообще не привёл..
V>>Хотя они есть..
V>>Но для desctop приложений, на которые мы ориентируемся их доля исчезающ емала..

PE>Открой OLE View и посчитай, думаю мало тебе не покажется.

PE>IE — это десяток компонент. Их же использует аутлук.
PE>Офисные аппликации — то же самое. Все тулбары, меню и тд — это комики. Они общие для всего офиса.
PE>IE показывает контролы только как COMики.
PE>Если у тея есть VS7 и MSDN к ней — набери урл из инета в строке и любуйся.
PE>Не COM аппликаций большого масштаба очень мало.
PE>XML,ADO,HTML,MAPI,Shell — это все COM
PE>Если прога не является COM компонетном, то она их использует.

Удачным примером использования COM в приведённом тобой списке я
могу считать только ADO.. И то в этих отличиях я не большой спец,
и воспринимаю его только как OLE-обёртку над ODBC..

Понимаешь, то что ты перечисляешь, в linux уже давно сделано, и без всякого COM..
(исключение конечно MAPI — ИМХО чисто MS приблуда..)
И не понятно, кому нужно чтобы, там ещё и COM был..
А на твоё "сколько там контролов"
Я тебе тоже отвечу: Поставь Qt и посмотри сколько там widget-ов..
Писал я на своё жезни достаточно много desktop-приложений..
И знаю, что при наличии компонента с исходниками или простыми либами,
лучше использовать его.. геморроя меньше.. И таких компонентов
(с исходниками или статическими библиотеками) и под win да фига..
А причина того что MS делает все свои контролы в виде ole- простая..
Они исходники не хотят показывать..
Иначе для контроллов никакой разницы нет (есть ещё выкачивающиеся по intet-у ActiveX,
но я что то не заметил, что они пользуются популярностью..)

Так что то что "OLE-компонентов много" не есть их достоинство..

PE>>>Но юзает ZLib.

PE>>>Тот код, что я бросил — класс ZipFile. Такой же есть и в C++.
V>>Я тебя не очень удивлю, если скажу, что zlib — это с-шная бибиотека..
V>>И код на C++ для неё как враппер для COM для С++, только для удобства..
PE>Я знаю, что она на си. У меня есть исходники и есть поставка отдельная без исходников.
Ну, и у тебя возникает проблема в использовании?
Я проблему просто не вижу в тои что ты мне кинул..
как и "дублирование кода"..

PE>>>zlib.pyd — вот он. Это как я понял, хитрая дллка

PE>>>Для него есть еще файл zlib.lib
PE>>>Сишной либе нужны или исходники или h-файл
V>>зачем я не понял сишной либе исходники?
V>>h-файл как мы выяснили и для COM создаётся..
PE>Я же говорю — или то или другое. Для COM не надо ничегою
Ну как не надо то..
То что ты мне кидал, там был #include "parser.h"
как сейчас помню..

PE>>>Просекаешь ?

V>>а как же *.tlb?
V>>два файла нужно.. по любому..
PE>Одного достаточно. Tlb обычно идет как ресурсы в длл или exe.
Да, это плюс.. Хотя не понятно, что мешает пускать их отдельно..

V>>как и для zlib:

V>>*.h + *.lib (который на linux суть so)
PE>А где мне взять заголовок для для другого языка ?
Для какого?
Мы же с тобой по этому поводу уже общались..
И сошлись на том, что то что нужно в офисе, на всех я зыках уже есть..
Да, MS за счёт OLE сделал это раньше..
Но сейчас то он никаких новых прорывных технологий на OLE для desktop не выдаёт..
А то что уже есть, вполне прилично и на linux сделано..

Более того, MS сейчас ориентируется на .NET..
Т.е. все новые компоненты следует ожидать именно на нём..
А на Java таких компонентов уже пруд пруди..
И аплеты и сервлеты и beans и enterprise beans..
Т.е. аналог твоего любимого OLE во всей красе
Который на linux до сих пор вполне удачно замещался Java (причём заметь, раньше MS..)

PE>>>Python работает чз COM с моими объектами. И не надо дополнительных процессов и тд.

OLE не гарантирует что не надо доп процессв..
Тут кто то word для проверки орфографии как я понял пользует..
Он отдельным процессом идёт..

V>>Тоже самое делается и без COM великолепно..

V>>http://www.xs4all.nl/~bsarempt/python/news.html
PE>Если ты прочитаешь, то увидишь, что пришлось полностью портировать библиотеку.
Пришлось полностью портировать враппер Qt (один)..

PE>А если и на перле надо делать ? Будешь искать перловую билиотеку ?

Чё её искать то, вот она (вторая или третья строчка в гугле "perl Qt"):
http://www.suse.com/en/private/products/suse_linux/ppc/packages/perl-Qt.html

PE>А что если это все в одном проекте надо делать ?

PE>У нас 7 языков. Искать портированные билиотеки для каждого ?
Чего их искать то?
Их никто не прячет..
Искать придётся для чего то ну очень нового..
А такого уже лет 5 как не было..

PE>Как ни крути, но нужна компонентная технология.

Для того, чем пользуются в большинстве офисов на
desctop-ах, она уже не нужна

PE>Не хочешь COM, бери CORBA или Java.

PE>В жаве есть JPython и много много чего другого.
Да ради бога..
Но если можно обойтись без компонентов, без них нужно обойтись..
Потому что как ни крути, они утяжеляют проект, и замедляют процесс разработки..

PE>>>Но MFC — это надстройка над WinAPI.

PE>>>KDE — это надстройка над QT, которая надстройка над X Windows. QT не напрямую юзает X сервер, насколько помню.
PE>>>Большинство классов в MFC наследуется от CCmdTarget.
V>>Ну и что.. Я больше скажу, ещё больше классов наследуется от CObject..
V>>В QT такие же классы есть..
V>>COM то тут причём..
V>>Или ты намекаешь, что там прямо в CCmdTarget поддержка COM есть?
V>>Ну и что.. все примеры, которые ты привёл эту поддержку не используют..
PE>Если класс должен быть доступен из Питона, то его комиком сделать пара пустяков.
PE>Как тут поможет PyQT ?
1. Какой именно класс?
2. Что, ты хочешь сказать, что slot-ы и signal-ы которые написаны на C-х не будут видны на питоне?
Библиотеки widget-ов одни и для C-й и для Python-а..
Каждый widget описывается набором сигналов и слотов..
Это как интерфейс в OLE..
И эти сигналы и слоты понимает как C++ так и питон..
Уж это то ты должен был знать..

PE>>>Указатель — это далеко не COM.

V>>Ну wrapper же? И причём без COM он и не нужен совсем.
PE>Естественно. Он написан для того, чтобы управлять счетчиком ссылок на объект автоматически.
которые суть нужны для COM..

PE>>>Для VBS, JS, J#, С# и генерировать не надо — они tlb понимают.

PE>>>Для паскаля надо генерировать паскалевский unit.
V>>Ну дык тоже самое делается для idl.. на linux
V>>толку то от этого..
V>>всё равно генерируется wrapper..
V>>а для spellchecker-а их генерировать не нужно, потому что они для всех языков и так есть..
PE>Это потому, что спелчекер использует текстовый интерфейс.
PE>А чтото более структурированое и более пригодное к реальным расчетам, с текстом не связанные ?
PE>Например библиотека для линейного программирования манипулирует с матрицами.
PE>Выводишь матрицу в stdout, друго модуль подхватывает, перегоняет в двоичный вид, считает, результаты снова в текстовый stdout , другой модуль снова перегоняет в двоичный вид, считает и снова выдает рузультат.
PE>Такие цепочки никому не нужны. Долго это.
Ты это физикам скажи, которые про кластеры рассуждают..
А то они дураки именно так и делают..
И причём на linux это получается гораздо быстрее..
Просто понимаешь понятие stdout как в вынь так и в linux
гораздо шире чем просто файл на диске
Поэтому правильное их использование гораздо быстрее чем COM-технологии..

PE>>>Ситуацию не сильно то и облегчило. Я в половине случаев не пользовался никакими вспомогалками вроде CComPtr.

V>>Ну не им, дык ждругим враппером..
PE>Не поверишь, для быстродейсвия юзается raw interfaces.
PE>Разницы — сам пишешь pIface->AddRef() и pIface->Release()
Да я верю.. Я знаю что это возможно..
Но слова про минимальный объём программы в 2000 строк, я не с потолка взял..
А вычитал в умной книжке про OLE..
И с тех пор упоминания о сей оценке слышал не раз..

PE>>>И при этом все равно имеешь ООП.

V>>?
V>>COM он вообще на чистом C написан.
PE>Билиотека для поддержки COM или COM компоненты ?
PE>OLE32.dll — это чистный С++. Компоненты пиши, как хочешь.
PE>В винде вообще мало Сишного кода. Только в недрах ядра.
Всё бы ничего, но я начал изучать COM ещё на win 3.1
И хорошо знаю, на чём именно он написан..
А dll которую ты мне в нос суёшь, для ней ведь не важно, на чём она вообще написана..
Хоть на паскале.. У неё формат один будет..
Машинный код.. А интерфейс к ней уже какой хошь делай, хоть на C, хоть на C++..
Так что лучше не спорь..

PE>>>4. ГУИ спелчекера должен быть встроен в мою аппликацию. Например это панелька отдельная, которую вызывает пользователь.

V>>Что там должно быть? кнопка "запустить проверку"?
PE>ГУИ — это списки возможных значений. Словари и тд.
GUI — это grapic user interface..
1. К ispell-у все словари ИМХО в теквтовом виде
2. Я мало знаю людей, которые когда нибудь в эти словари лазили..
Только если выбрать какой нить из них..
3. Словарь в word построен очень примитивно.. не лучше чем в ispell..
Они не учитываю особенностей русского словообразования..
Так что редактор там по итогу должен быть для русского языка специфический..
Соотв. если ты вставишь чекер от MS, c ихней GUI, то потом тебе придётся
как то перестраиваться на более правильную (от того же ОРФО..)

PE>>>5. Еще нужна такая возможность — ты пишешь текст, а спеллчекер автоматом корректирует слова или завершает их правильно

V>>Ты вообще, соображаешь какой объём кода для этого нужно написать, даже и на OLE?
V>>Кинь ка мне interface который позволит мне в моей проге это легко сделать..
PE>Это не один интерфейс.
Ну кинь набор интерфейсов.. Просто я не верю, что то что ты написал, можно сделать
за 0.5 при любом самом крутом и навороченном OLE-объекте..

PE>Вот тебе спелчекер без ГУи.

PE>У него два интефейса — для управления и эвенты.
PE>Это более гибкая фича, нежели char* ispell(const char*);

Абсолютно такое же всё..
Управляющая информация — это настройки..
(которые суть переменные типа bool и некоторые другие..)
данные на вход ты подаёшь методом (то что в ispell через файл или на вход)
VARIANT_BOOL TestWord(BSTR word);
С выхода читаешь результат..
(евенты, и некоторые переменные)

И самое главное — используя этот интерфейс ты не сделаешь свои пункты 3 и 5 за 0.5 часа..
Так что то что ты кинул — это полный аналог ispell.. и никакой доп. гибклсти не даёт..
http://izh-test.sourceforge.net/russian/introduction.html
Windows vs Lunux (люди)
От: Joker6413  
Дата: 26.06.03 09:32
Оценка: 9 (1)
Добрый день
Вот стало интересно, насколько выбор favorite системы зависит от профессионального опыта разработчика...
Re: Я фанат Win
От: Joker6413  
Дата: 26.06.03 09:33
Оценка:
Re: Я фанат linux
От: Joker6413  
Дата: 26.06.03 09:34
Оценка:
Здравствуйте, Joker6413, Вы писали:

J>Добрый день

J>Вот стало интересно, насколько выбор favorite системы зависит от профессионального опыта разработчика...
Re[60]: Windows vs Linyx
От: m.a.g. Мальта http://dottedmag.net/
Дата: 26.06.03 09:38
Оценка:
Здравствуйте, vvaizh, Вы писали:

PE>>А что если это все в одном проекте надо делать ?

PE>>У нас 7 языков. Искать портированные билиотеки для каждого ?
V>Чего их искать то?
V>Их никто не прячет..
V>Искать придётся для чего то ну очень нового..
V>А такого уже лет 5 как не было..

Кстати, Qt# тоже уже давно есть Под моно собирается.
... << RSDN@Home 1.1 alpha 1 >>
Re: Я прагматик, юзаю Win
От: Кодт Россия  
Дата: 26.06.03 09:48
Оценка:
Здравствуйте, Joker6413, Вы писали:

J>Вот стало интересно, насколько выбор favorite системы зависит от профессионального опыта разработчика...


В повседневной жизни линукс мне не нужен, так я и не связывался.
Иногда мучаюсь от того, что язык бат-файлов убог. Впрочем, есть cygwin, и есть руки чтобы написать утильку под конкретную ситуацию.
В качестве консоли — у меня ФАР, хватает за глаза и за уши.
Перекуём баги на фичи!
Re[2]: Я фанат Win
От: Joker6413  
Дата: 26.06.03 09:52
Оценка: 1 (1) -1 :)
Здравствуйте, Joker6413, Вы писали:

Работаю программером 5 лет, в особенно сложных проектах не учавствовал. Все время писал под win. Работал с unix в универсистете компилячил С программы с консоли. Не понравилось. Видел оконные системы под nix типа Kde, не понравились...

Фанат win. т.к. у них

1. удобные среды разработки
2. отличная и удобная документация
3. все баги которые я находил были уже описаны в msdn
4. очень предсказуемая система
5. Удобный и понятный (для меня) GUI
6. отличная компонентная модель (в смысле OLE/COM)
7. отличные отладочные средства
8. простая работа с базами данных (ms)

Игорь
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.