Перейти к содержимому

Фотография

Есть тут программисты на...


  • Закрытая тема Тема закрыта
Сообщений в теме: 53

#41
Коляныч

Коляныч
  • В доску свой
  • 2 773 сообщений
fantomas
давай мы попробуем покорректнее малость выбирать формулировки, ок? То, смыслю ли я в языках программирования или нет судить не тебе. Речь шла не о языке программирования, а о наиболее удобной среде для получения конечного результата. И вот в этом-то классическая логика "VB - это убогость. Что касается Pascal и C++, то нет такой задачи, которую нельзя было бы решить на обоих языках и примерно за одинаковое время" круто обламывается. Потому что должна приниматься во внимание сразу масса факторов: удобство среды программирования, безглючность, качество документации, поддержка 3rd-party производителями и т.п.

Приведу несколько примеров, чтобы быть лучше понятым:

1) если в MS Excel'е нет функции, которая посчитает нужную формулу или придаст группе ячеек нужный стиль, то открыть окно макросов и быстро сделать скриптик гораздо быстрее, чем писать программулину на Дельфи.

2) Есть такой продукт GE-fanuc Cimplicity (от General Electric) для автоматизации техпроцесса. С ним я чуть более двух лет назад работал. Для сопряжения с custom драйверами под custom оборудование, которого нет в стандартном списке, под это дело есть у них SDK для VC. Соответственно делать блоки сопряжения на Дельфи мне не пришло бы в голову. Разработка интерфейса для рабочего места оператора в этом пакете облегчена до уровня "для чайников" - собрать из готовых визуальных компонентиков готовые control'ы и связать их в продукционную систему. Всевозможные Events'ы, Alarms'ы и т.п. редактируются в этой же среде (VBA) - тупо в пять строчек пишешь на бейсики конфигурационные скрипты и скрипты образотчиков событий (шаблоны уже заготовлены самой средой). Разработка полноценной средненавороченной SCADA системы - месяц.

3) Lotus Notes. Тут можно выбирать VBScript, Javascript или язык @-комманд.

4) SDK для DVB-карт от TechnoTrend. Все DLL-ки доступа написаны на VC++ (именно с плюсами, ООП), то есть decorated-names и всё такое, то есть ни на чём другом кроме как на VC++ ты с ними нормально не сможешь работать. То есть требуются не просто какие-нибудь C++, а именно Microsoft VC++ 6/7, иначе - облом-с.


Если программер не дурак, он рано или поздно полезет в исходники Delphi, и его заинтересует конструкция asm ... end


в том, всё дело, что программер должен считать собственное время. Точнее, тот, кто платит за труд прогрэммера должен считать время. Если нужно лезть в исходники Дельфи или __asm для удовлетворения академического любопытства, то это нормально. Если же вынужденная мера от безысходности - то это потеря драгоценного времени, которого и без того вечно не хватает.

вообще, изучать программирование надо не с визуальных средств разработки, а с компиляторов командной строки. Лучше всего для этого подходят пакеты gcc и fpc под *nix-ы.


согласен на 99%. Но только для детей младшего/среднего школьного возраста лучше всего что-нибудь визуальное графическое типа Logo, иначе у ребёнка пропадёт весь энтузиазм. А для более старших - командная строка
  • 0

#42
Коляныч

Коляныч
  • В доску свой
  • 2 773 сообщений

Кстати исходников MFC я чтото не встречал

а ты их где искал?
  • 0

#43
Коляныч

Коляныч
  • В доску свой
  • 2 773 сообщений

Минимальное приложение на Delphi 7 273KB, минимальное приложение на C++ Builder 6 - 33KB, минимальное приложение на VC++, 1,23 MB. Я имею ввиду использование VCL у борланда и MFC у VC++


в том, что касается VC++ - полная ахинея
  • 0

#44
fantomas

fantomas
  • Завсегдатай
  • 123 сообщений

fantomas
давай мы попробуем покорректнее малость выбирать формулировки, ок? То, смыслю ли я в языках программирования или нет судить не тебе.

Я говорил не о языках программирования, а о программировании вообще.
Не обходимо понимать суть вопроса, прежде чем что то хаять. Есть такая штука OLE называется. Через нее работать с MS OFFICE можно и из Delphi 2.

Речь шла не о языке программирования, а о наиболее удобной среде для получения конечного результата. И вот в этом-то классическая логика "VB - это убогость. Что касается Pascal и C++, то нет такой задачи, которую нельзя было бы решить на обоих языках и примерно за одинаковое время" круто обламывается. Потому что должна приниматься во внимание сразу масса факторов: удобство среды программирования, безглючность, качество документации, поддержка 3rd-party производителями и т.п.


Опять же нет хорошего понимания темы о которой пишешь. Под виндой нет более удобной среды разработки, чем С++builder и Delphi. Что касается документации, то borland кроме документации по своим продуктам включил в состав дистров еще и доку по винде, т.к у глубокоуважаемого господина Гейца до хорошой доки руки не доходят. Я не совсем понял про глючность. Во всяком случае за Delphi и за Builder не замечал. Да и поддержкой 3rd-party производителей ни Builder, ни Delphi не обижены. Так что никакого облома я тут не вижу.

Приведу несколько примеров, чтобы быть лучше понятым:

1) если в MS Excel'е нет функции, которая посчитает нужную формулу или придаст группе ячеек нужный стиль, то открыть окно макросов и быстро сделать скриптик гораздо быстрее, чем писать программулину на Дельфи.

2) Есть такой продукт GE-fanuc Cimplicity (от General Electric) для автоматизации техпроцесса. С ним я чуть более двух лет назад работал. Для сопряжения с custom драйверами под custom оборудование, которого нет в стандартном списке, под это дело есть у них SDK для VC. Соответственно делать блоки сопряжения на Дельфи мне не пришло бы в голову. Разработка интерфейса для рабочего места оператора в этом пакете облегчена до уровня "для чайников" - собрать из готовых визуальных компонентиков готовые control'ы и связать их в продукционную систему. Всевозможные Events'ы, Alarms'ы и т.п. редактируются в этой же среде (VBA) - тупо в пять строчек пишешь на бейсики конфигурационные скрипты и скрипты образотчиков событий (шаблоны уже заготовлены самой средой). Разработка полноценной средненавороченной SCADA системы - месяц.

3) Lotus Notes. Тут можно выбирать VBScript, Javascript или язык @-комманд.

4) SDK для DVB-карт от TechnoTrend. Все DLL-ки доступа написаны на VC++ (именно с плюсами, ООП), то есть decorated-names и всё такое, то есть ни на чём другом кроме как на VC++ ты с ними нормально не сможешь работать. То есть требуются не просто какие-нибудь C++, а именно Microsoft VC++ 6/7, иначе - облом-с.


Говорить об SDK для какой-то конкретной среды разработки - верх не профессионализма. SDK - это набор .dll-ок. Если у тебя есть дока, то можешь вызвать любую .dll из программы, написанной на любом языке, в котором есть поддержка вызовов .dll.

Если программер не дурак, он рано или поздно полезет в исходники Delphi, и его заинтересует конструкция asm ... end


в том, всё дело, что программер должен считать собственное время. Точнее, тот, кто платит за труд прогрэммера должен считать время. Если нужно лезть в исходники Дельфи или __asm для удовлетворения академического любопытства, то это нормально. Если же вынужденная мера от безысходности - то это потеря драгоценного времени, которого и без того вечно не хватает.


Я никогда не слышал, чтобы в исходники Builder или Delphi лазили от безысходности, зато сколько программеров из них набрались опыта от борландовских программистов.

вообще, изучать программирование надо не с визуальных средств разработки, а с компиляторов командной строки. Лучше всего для этого подходят пакеты gcc и fpc под *nix-ы.


согласен на 99%. Но только для детей младшего/среднего школьного возраста лучше всего что-нибудь визуальное графическое типа Logo, иначе у ребёнка пропадёт весь энтузиазм. А для более старших - командная строка


Моя дочь программирует с 5 лет. И начинала с gcc под Linux. Я не старался сделать из нее компьютерного гения. А заинтересовал я ее созданием простеньких игр. Сейчас ей 12, и она уже состоявшийся программист. И программирует гораздо грамотнее тех, кто считает себя профи.

P.S. BASIC - это абривиатура, и расшифровывается - Базовый язык для начинающих.
  • 0

#45
fantomas

fantomas
  • Завсегдатай
  • 123 сообщений

Кстати исходников MFC я чтото не встречал

а ты их где искал?

Не надо считать себя самым умным. Вся MFC лежит в MFC42.dll, если ты не в курсе.
  • 0

#46
fantomas

fantomas
  • Завсегдатай
  • 123 сообщений

Минимальное приложение на Delphi 7 273KB, минимальное приложение на C++ Builder 6 - 33KB, минимальное приложение на VC++, 1,23 MB. Я имею ввиду использование VCL у борланда и MFC у VC++


в том, что касается VC++ - полная ахинея


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

#47
Коляныч

Коляныч
  • В доску свой
  • 2 773 сообщений
fantomas
дык вопрос не в том, через что можно, и через что нельзя. Можно и на ассемблере писать вполне работоспособную утилиту для автоматизации офиса. Только если врядли это целесообразно. На бейсике это делается очень легко по двум причинам:
1) late binging (позднее связывание) есть встроенная фича языка и всё, что управляется по IDispatch управляется из бейсика легко и непринуждённо.
2) Все типы данных OLE это есть типы, с которыми может работать бейсик. Все типы данных, с которыми он не может работать, это не есть стандартные типы OLE. Короче, всё, что вокруг VARIANTARG
3) Интерфейс VB'шного IDE заточен под OLE. Я бы даже сказал, что он вообще больше ни под что не заточен, любая не-OLE'шная задача - это для него сплошной ребус, но в том, что касается задач OLE-автоматизации VB есть "царь зверей". Ты видел хотя бы егоный браузер по TLB? Тебе прислать скриншот?


Под виндой нет более удобной среды разработки, чем С++builder и Delphi.


Спорно. Мне сильно нравится среда VC++, её шаблоны и классные возможности по отладке приложений. Вообще нужно уточнять - разработки каких приложений? Например, разработай-ка ISAPI-фильтр и отладь его на Дельфи или Билдере. Замучаешься. Или DirectShow фильтр. С отладкой многопоточных приложениями я практически постоянно имею геморрой на Билдере-5

Что касается документации, то borland кроме документации по своим продуктам включил в состав дистров еще и доку по винде, т.к у глубокоуважаемого господина Гейца до хорошой доки руки не доходят


тэээкс... об MSDN ты имеешь хотя бы представления? Поставь себе MSDN (желательно старый не позднее июля-2001, более новые уже слишком заточены под .NET) и погляди что такое НАСТОЯЩАЯ ДОКА. Сравни с тем, что там идёт в комплекте Борланда

Я не совсем понял про глючность. Во всяком случае за Delphi и за Builder не замечал


а вот я замечал. Это в основном относится к Билдеру (на 3-м были свои глюки, на 5-ом свои, других не трогал), Дельфи 4-ка в плане безглючности существенно приятнее была (лучше прежних), но и у неё помню напарывался на несколько глюков (то неправильно интерпретирует текст, то неправильно компилирует код). У майкрософта тоже много глюков, если что. Но они очень быстро сначала документируются в MSDN, а потом фиксятся сервис-паками

Да и поддержкой 3rd-party производителей ни Builder, ни Delphi не обижены


назови самых крупных, каких знаешь.

Говорить об SDK для какой-то конкретной среды разработки - верх не профессионализма. SDK - это набор .dll-ок. Если у тебя есть дока, то можешь вызвать любую .dll из программы, написанной на любом языке, в котором есть поддержка вызовов .dll.


fantomas ты шутишь? или правда так считаешь? А сидеть переводить header'ы под другие среды кто будет? А если не DLL, а просто LIB? Да и с DLL, если она была расширением MFC, то перетачивать её под Дельфи ты будешь полгода. Для этого нужно будет сначала на дельфи сделать эмулятор MFC, чтобы такую dll-ку вызывать. Короче, я пока что делаю вывод, что тебе никогда не приходилось видеть настоящих SDK, а если и приходилось, то на другие среды програмиирования ты их никогда не портировал

Не надо считать себя самым умным. Вся MFC лежит в MFC42.dll, если ты не в курсе


а все исходники MFC лежат в папке
\Program Files\Microsoft Visual Studio\VC98\MFC
(по крайней мере начиная с Visual Studio 4)
  • 0

#48
Коляныч

Коляныч
  • В доску свой
  • 2 773 сообщений

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


Ок. А что ты называешь минимальным приложением? Критерий минимальности в студию. Вроде бы то, что стандартный Wizard MFC MDI делает по умолчанию это уже не минимальное приложения, а самое настоящее полнофункциональное. Компилирую с установками по умолчанию: 36864 байта. Включаю оптимизацию по Size, итог = 32768 байта. Отключаю оптимизацию под маздай98, результат = 21504 байт. Или ты что-то другое имел в виду под минимальностью? да и вообще сделай поиск по винчестеру, поищи по маске *.exe строчку MFC42 и в результатах выберешь наименьший файл, какой найдётся....

Вообще давай я такое минимальное приложение напишу:

MessageBox(NULL, "Hello", "World", MB_OK);

и склеиваю секции (опция /merge). Результат: 1024 байта. Слабо на дельфях или Билдере написать Hello World размером 1 килобайт?

но это всё без MFC, если делать поддержку MFC, то сразу резко разрастётся килобайт до десяти, чтобы хостить экземпляр CWinApp и вообще всю ++'овость (вызов конструкторов, деструкторов и т.п.).


PS:

Я основываюсь на своих собственных изысканиях. А ты на чем?

PS. на 4-ом курсе я писал компилятор упрощённых сей, поэтому в том, что касается особенностей машинной компиляции и структур PE-файлов судя по всему я тебя немножко всё ж таки поопытнее. И в процессе написания поковырялся вдоволь в коде разных компилеров. По качеству генерируемого простого и обычного кода VC6 не уступает никому, включая VectorC и Intel'у. А если ей ещё и помогать немножко.... например в AMD Athlon Processor
x86 Code Optimization Guide (ref #22007) рассказано, как правильно писать код под процессоры Атлон на Вижуал Сях. Для Борланд Билдера такой документэйшн почему-то не написали.... Ну по крайней мере не в AMD
  • 0

#49
fantomas

fantomas
  • Завсегдатай
  • 123 сообщений
Коляныч.
Есть простой способ решить, кто программист, а кто нет.
Ты регистрируешь где нить почтовый ящик. Я тебе посылаю коротенькую программульку на Делфях. Ты ее повторяешь на VC или VB и пересылаешь мне вместе со своей коротенькой программой. Я ее повторяю на VC, или на Builder, или на Delphi по твоему выбору. И все станет ясно. То, что я не люблю VC - не значит, что я на нем не программирую. Что касается опыта в написании компиляторов, то я тоже напиал С компилятор, и не в качестве студенческой работы упрощенный, а полнофункциональный и промышленный. Я не стану больше с тобой спорить. Либо ты принимаешь мой вызов, либо ты еще сынок в программировании.
  • 0

#50
Коляныч

Коляныч
  • В доску свой
  • 2 773 сообщений

То, что я не люблю VC - не значит, что я на нем не программирую.


то, что ты не знаешь, какой получается размер exe-шника на MSVC++, где лежат исходники MFC и что такое MSDN - говорит о том, что нихрена ты на нём не пишешь и видел его только издалека. Из твоих заяв про кросскомпиляторное использование SDK рискну предположить, что ты не только SDK не видел, но и LIB'ы сделанные на VC и для VC не пробовал статически линковать с Билдеровскими проектами

кста, просьба перечислить изветсных тебе IT-vendor'ов, у которых есть SDK для продуктов Борланд осталась без ответа



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

если хочешь challenge, то сначала вспомни

Слабо на дельфях или Билдере написать Hello World размером 1 килобайт?


вот мой простой реализэйшн:

/***********************************************************************
* Compiler required: MSVC++6
*
* Compiler options:
*  /nologo /ML /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS"
*  /D "_MBCS" /Fo"Release/" /Fd"Release/" /FD /c
*
* Linker options:
*  User32.lib /nologo /entry:"main" /subsystem:windows /incremental:no
*  /pdb:"Release/hello1k.pdb" /machine:I386 /nodefaultlib
*  /out:"Release/hello1k.exe" /opt:nowin98
*  /merge:.data=.text /merge:.rdata=.text
************************************************************************/

#include <windows.h>

int main()
{
	MessageBox(NULL, "Hello", "World", MB_OK);
	return 0;
}

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

#51
fantomas

fantomas
  • Завсегдатай
  • 123 сообщений

То, что я не люблю VC - не значит, что я на нем не программирую.


то, что ты не знаешь, какой получается размер exe-шника на MSVC++, где лежат исходники MFC и что такое MSDN - говорит о том, что нихрена ты на нём не пишешь и видел его только издалека. Из твоих заяв про кросскомпиляторное использование SDK рискну предположить, что ты не только SDK не видел, но и LIB'ы сделанные на VC и для VC не пробовал статически линковать с Билдеровскими проектами

кста, просьба перечислить изветсных тебе IT-vendor'ов, у которых есть SDK для продуктов Борланд осталась без ответа



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

если хочешь challenge, то сначала вспомни

Слабо на дельфях или Билдере написать Hello World размером 1 килобайт?


вот мой простой реализэйшн:

/***********************************************************************
* Compiler required: MSVC++6
*
* Compiler options:
*  /nologo /ML /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS"
*  /D "_MBCS" /Fo"Release/" /Fd"Release/" /FD /c
*
* Linker options:
*  User32.lib /nologo /entry:"main" /subsystem:windows /incremental:no
*  /pdb:"Release/hello1k.pdb" /machine:I386 /nodefaultlib
*  /out:"Release/hello1k.exe" /opt:nowin98
*  /merge:.data=.text /merge:.rdata=.text
************************************************************************/

#include <windows.h>

int main()
{
	MessageBox(NULL, "Hello", "World", MB_OK);
	return 0;
}

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

С делетантом спорить - все равно что воду в решете лить. На глупости тебе рабочего времени не жаль, а доказать, что ты чего-то стоишь - жаль. Дело твое. А что касается примера: с рисовал с книги и считаешь, что совершил подвиг?
  • 0

#52
Коляныч

Коляныч
  • В доску свой
  • 2 773 сообщений
если что, это не из книги. это на основе знаний почерпнутых из разных тематических конференций ещё лет пять назад. Даже точно могу сказать откуда:

http://www.codemanua...show_topics.asp

Ну по крайней мере книг, в которы есть сведения о недокументированных ключах линкера мне не встречалось

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


Если тебе действительно хочется посоревноваться, то давай сделаем так: есть такой сайт http://acm.timus.ru/ , там олимпийские задачи. Когда я этим сильно увлекался, то был в этом рейтинге в 500 сильнейших, но потом надоело и последние полтора года там не воевал, поэтому откатился ниже тысячи:

http://acm.timus.ru/...r.aspx?id=15614

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

#53
fantomas

fantomas
  • Завсегдатай
  • 123 сообщений

Если тебе действительно хочется посоревноваться, то давай сделаем так: есть такой сайт http://acm.timus.ru/ , там олимпийские задачи.

Я в детские игры не играю.
  • 0

#54
Gloomy

Gloomy
  • Свой человек
  • 861 сообщений
Битва гигантов ©

Мужики будте профессионалами!
В смысле давно бы расстегнули матню да померились :rotate:
  • 0


Количество пользователей, читающих эту тему: 3

пользователей: 0, неизвестных прохожих: 3, скрытых пользователей: 0

Размещение рекламы на сайте     Предложения о сотрудничестве     Служба поддержки пользователей

© 2011-2022 vse.kz. При любом использовании материалов Форума ссылка на vse.kz обязательна.