Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Язык программирования для радиолюбителя
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Программирование
Страницы: 1, 2
haker_fox
QUOTE (Меджикивис @ Apr 19 2012, 03:28) *
Спасибо на добром слове. Вообще-то под "качеством" кода я подразумевал не только скорость и объем.

А что же? Неужели вас интересует красота бинарника? rolleyes.gif Не обижайтесь, я по доброму rolleyes.gif rolleyes.gif rolleyes.gif

QUOTE (Меджикивис @ Apr 19 2012, 03:28) *
Дело в том, что скомпилированный в VB код использует множество файлов библиотек из состава ОС.
Поэтому всегда есть вероятность, что нормально работавшая у тебя прога, на том или ином компе заказчика заглючит или не запустится вовсе - потому что там, напр., поставлена другая версия Офиса, которая при своей инсталляции заменила туеву хучу дээлэлок.
Причем заказчик про эти причины знать не собирается - каждый плевок адресован в исключительно мою сторону.
Так что, любому разумному человеку ясно, насколько важна хорошая переносимость кода в вышесказанном смысле.

Так любая программа, так или и иначе будет использовать ресурсы ОС. От языка программирования это не зависит. В противном случае, компилятор бы выдавал stand-alone код, т.е. бинарник, который ну разве что после биоса можно сразу запускать.
Аккуратный разработчик программы должен эти моменты сам регулировать. Если Ваша программа зависит от офиса, то нужно делать проверку версии, или еще что-то. Скажем, к примеру, программа, которая работает с коммуникационным портом и только (терминал), глубоко чихает на наличие офиса.
QUOTE (Меджикивис @ Apr 19 2012, 03:28) *
Весьма хорош с этой стороны код, даваемый PureBasic. Я не знаю, как он этого добивается, но работает на любой PC и практически под любой Виндой (семерку не проверил только).

Удивительно, но код после MinGW + QT у меня тоже работает везде: XP 32, XP 64, Win 7. Что я сделал неправильно? rolleyes.gif

QUOTE (Меджикивис @ Apr 19 2012, 03:28) *
Но программирование ГУИ в текстовом виде - это копать лопатой вместо экскаватора. Все циклы ожидания прерываний писать в ручную в явном виде - это же УЖОС реально. Сам не заметил, как забросил эту прелесть)))))

Прошу прощения, но Вы не в теме. Эти ужасы остались в прошлом. Когда под ДОС писали GUI без использования уже имеющихся в те времена специализированных средств (я тогда Си/си++ не занимался, писал на Object Pascal 7 for DOS).

Меджикивис, от всего сердца советую, посмотрите современные средства разработки. Те ужасы, которые Вы перечисляете - в прошлом. Есть, конечно, проблемы, но они есть всегда и везде.
Marto
Что посоветуете начинающему декстоп-кодеру с перспективой перехода к более-менее серьезному подходу?
Меджикивис
Цитата(haker_fox @ Apr 19 2012, 05:40) *
А что же? Неужели вас интересует красота бинарника? rolleyes.gif

Сначала меня интересует его переносимость (как выше уже писал). Красота - во вторую очередь...

Цитата(haker_fox @ Apr 19 2012, 05:40) *
Так любая программа, так или и иначе будет использовать ресурсы ОС. От языка программирования это не зависит.

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

Цитата(haker_fox @ Apr 19 2012, 05:40) *
Аккуратный разработчик программы должен эти моменты сам регулировать.

Я регулирую. Например пишу на VB без использования любых контролов. Но я же не могу оменить использование компилятором библиотек, на которых он вообще базируется.

Цитата(haker_fox @ Apr 19 2012, 05:40) *
Если Ваша программа зависит от офиса, то нужно делать проверку версии, или еще что-то.
Типа прога должна проверить версии библиотек и в случае чего выдать пользователю сообщение "Обнаружено несоответствие версии библиотеки ХХХХ.DLL, запуск программы невозможен". Чем это пользователю принципиально приятнее, чем автоматическое сообщение "Обращение к несуществующему элементу в xxxx.dll, программа будет закрыта, ОК" ?
Сейчас Вы скажете, что надо "Файл XXXX.DLL неправильный. Заменить? Yes/Exit" Заменяем - начинает глючить Офис (или еще что-нибудь). Кому эти все проблемы нужны?

Цитата(haker_fox @ Apr 19 2012, 05:40) *
Скажем, к примеру, программа, которая работает с коммуникационным портом и только (терминал), глубоко чихает на наличие офиса.

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

Цитата(haker_fox @ Apr 19 2012, 05:40) *
Удивительно, но код после MinGW + QT у меня тоже работает везде: XP 32, XP 64, Win 7. Что я сделал неправильно? rolleyes.gif
Что Вы сделали неправильно я не знаю, но вот разработчики очевидно сделали правильно, чтобы добиться хорошего, качественного кода.
О чем, собственно, я и толкую.

Цитата(haker_fox @ Apr 19 2012, 05:40) *
Прошу прощения, но Вы не в теме. Эти ужасы остались в прошлом. Когда под ДОС писали GUI без использования уже имеющихся в те времена специализированных средств (я тогда Си/си++ не занимался, писал на Object Pascal 7 for DOS).

Прошу прощения, но это Вы не в теме. Поработайте с Pure Basic (для WIN), тогда и убедитесь, я правду написал о нем, или нет.

Цитата(haker_fox @ Apr 19 2012, 05:40) *
Меджикивис, от всего сердца советую, посмотрите современные средства разработки.
Пожалуйста ссылочки, где можно посмотреть. Буду премного благодарен.
Кроме Си и его разнообразных вариантов.

ЗЫ:
Дельфи (из паскалеподобного семейства) смотрел. В общем ничего против не имею, но по сумме всех впечатлений предпочел все-таки VB.



ARV
а я по старинке за Delphi 7 отдам свой голос sm.gif
Qt меня убил нетрадиционным (с точки зрения дельфиста) построением иерархии классов для визуальных компонентов... я так и не смог к ним привыкнуть, наверное, просто старый стал sm.gif

Еще для Delphi просто бескрайнее море уже готовых компонентов практически на все случаи жизни - от работы с портами до удаленной работы с базами данных, причем есть отличные официально бесплатные библиотеки, например, JEDI JVCL. то есть в сущности на уровне "любителя" 99,9% задач решаются практически только кликами мышкой - что любителю и надо sm.gif

как с этим делом у Qt?
haker_fox
QUOTE (ARV @ Apr 19 2012, 16:18) *
Еще для Delphi просто бескрайнее море уже готовых компонентов практически на все случаи жизни - от работы с портами до удаленной работы с базами данных, причем есть отличные официально бесплатные библиотеки, например, JEDI JVCL. то есть в сущности на уровне "любителя" 99,9% задач решаются практически только кликами мышкой - что любителю и надо sm.gif

Ну чтож, все что мне надо было (GUI в первую очередь, потом уже работа с TCP/IP) в QT есть. А вообще на любителя)

QUOTE (ARV @ Apr 19 2012, 16:18) *
как с этим делом у Qt?

Да нормально. Чего нет, сами пишем. В конце концов, нет универсальной библиотеки, где "все" есть.

QUOTE (Меджикивис @ Apr 19 2012, 15:52) *
ЗЫ:
Дельфи (из паскалеподобного семейства) смотрел. В общем ничего против не имею, но по сумме всех впечатлений предпочел все-таки VB.

Ну так о чем разговор тогда? rolleyes.gif
У Вас уже есть предпочтения, и наши советы Вам не подходят.
Зачем спрашивать тогда? crying.gif
AlexandrY
Цитата(Marto @ Apr 19 2012, 08:53) *
Что посоветуете начинающему декстоп-кодеру с перспективой перехода к более-менее серьезному подходу?

Не циклится на синтаксисе.
Помнить, что нервные клетки восстанавливаются, а тренировками даже наращиваются.
Отдавать предпочтение фреймворкам, а не языкам.
Я бы советовал .NET
Marto

Если .NET,
то все-таки C++ или C#????
поправьте, если ошибаюсь:
C# - чисто .NET, свой синтаксис, отличный от C++; CLR и все вытекающие последствия при использовании неуправляемого кода и т.д
Visual C++ .NET - можно писать как при использований CLR так и без прокладки, скорость работы кода выше, чем у C#.
Соотвественно нужно иметь больший уровень мастерства, чтобы писать на C++, чем C#?


И да,
конечно Visual Studio, мы за легальный софтsm.gif
MrYuran
Цитата(Marto @ Apr 19 2012, 11:50) *
Visual C++ .NET - можно писать как при использований CLR так и без прокладки, скорость работы кода выше, чем у C#.

Выделенное - весьма спорное утверждение.
Примерно такое же, что "С++ медленнее и жирнее, чем С, ибо оверхед..."

А я бы именно на C# глядел. Именно по причине кроссплатформенности (не только win/lin, но и web/android/etc.).
Меджикивис
Цитата(haker_fox @ Apr 19 2012, 11:24) *
Ну так о чем разговор тогда? rolleyes.gif
У Вас уже есть предпочтения, и наши советы Вам не подходят.

Ваши - не подходят, а чьи-нибудь может и подойдут :-)
Я к примеру про FlowStone и слыхом не слыхивал, но мне подсказали. Здесь же много различных специалистов есть. Не все же только на Си или Дельфи.

Предпочтения - есть. Но не думаете же Вы действительно, что я испробовал всё на свете.
Multi multa sciunt, nemo omnia.

Marto
Цитата(MrYuran @ Apr 19 2012, 14:01) *
Выделенное - весьма спорное утверждение.
Примерно такое же, что "С++ медленнее и жирнее, чем С, ибо оверхед..."

А я бы именно на C# глядел. Именно по причине кроссплатформенности (не только win/lin, но и web/android/etc.).


Тогда в чем преимущество C++ перед C#?
А если не пользоваться CLR для C++ (консольная утилита win32 на С++ и консольная утилита на C#) тогда кто выиграет C# или C++?
MrYuran
Цитата(Marto @ Apr 19 2012, 12:07) *
Тогда в чем преимущество C++ перед C#?
А если не пользоваться CLR для C++ (консольная утилита win32 на С++ и консольная утилита на C#) тогда кто выиграет C# или C++?

А май его знает...
RT или JIT не нужен. Хотя фреймворк все равно необходим, так какая разница...
По второму - а вам не все равно, за сколько милли/микро/наносекунд ваша программа отреагирует на нажатие кнопки "Enter"?
Marto
На нажатие кнопки "Enter" все равно.
А вот если речь пойдет о FFT или лагранжавской интерполяции, тогда есть разница.
muravei
А мне нравится VB6 +WIN API и Pelles C
Инсталяшка последнего халявная и где-то 10мБ sm.gif
Marto
Вы радиолюбитель или радиопрофессионал?)))))
_Pasha
Цитата(muravei @ Apr 19 2012, 15:17) *

Злодейству нет предела...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.