| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Выбрать среду программирования |
| Автор: Evenstain 31.7.2012, 10:10 |
| доброго времени суток всем!!! такая ситуация. изучил основы языка с++(по книгам Р. Лафоре), пользовался Microsoft Visual Studio 2010 Express и создавал там консольные приложения. теперь хотелось бы изучить именно создание приложений под windows. Хотел бы услышать ваши мнения в чем лучше начать писать и что перспективнее на данный момент: visual studio от microsoft, c++ builder от borland, Qt ... Может вообще посмотреть в сторону C# или кроссплатформенной Java. Что на рынке труда по вашему мнению более востребованное |
| Автор: saneea 31.7.2012, 10:33 |
| Когда-то был в той же ситуации, тоже создавал темы на этом форуме http://forum.vingrad.ru/forum/topic-58487/unread-1.html и http://forum.vingrad.ru/forum/topic-248666/kw-builder-msvisual-c++.html. Вообщем моя история примерно такая: консольные приложения -> Борланд C++ Билдер -> Qt -> C#+WinForms -> C#+WPF. Пробовал заняться Java, но как-то не пошло (хотя я её очень уважаю и на работе сталкиваюсь с ней периодически). Короче сейчас для своих собственных наработок использую C#+WPF - ничего более лучшего пока не нашёл для себя. Добавлено через 1 минуту и 27 секунд А на рынке труда тебе может и не понадобится заниматься пользовательским интерфейсом:) |
| Автор: Evenstain 31.7.2012, 10:45 |
| ну а могли бы поподробней плюсы и минусы той или иной среды описать |
| Автор: boostcoder 31.7.2012, 11:30 |
| господа модераторы, может быть создать раздел типа "прикладные вопросы С++" или "инструменты для разработки" ? а то уже реально затрахали подобные темы в этом разделе! |
| Автор: Evenstain 31.7.2012, 11:48 | ||
вот обязательно залезть и написать какую нибудь хрень если не нравится тема просто иди лесом, зачем заходить, она что тебе глаза мозолит что ли, не дает уснуть, ее существование тревожит тебя????????????? никогда не понимал таких людей |
| Автор: saneea 31.7.2012, 12:29 | ||
Борланд C++ Билдер - бесперспективняк (короче загибается он и плохо дружит со стандартом C++), поэтому я его оставил в прошлом (хотя для универских лаб был самое то) Qt - всем хорош, но меня раздражает, что в нём всё "своё": конкретный случай - контейнеры, вместо того чтоб юзать всякие std::vector, std::list и т.д. Qt-шные классы работают с собственными контейнерами (в следствие чего у меня были всякие функции по преобразованию какого-нибудь qvector (не помню точных названий) в std::vector). Поэтому решил перейти на язык, где работа с файловой системой, GUI и мультипоточностью будет частью языка C#+WinForms - по сути очень похоже как в Borland C++ Builder, но только это C# со своими приятностями (ну и неприятностями тоже). Оставил эту технологию, потому что узнал о WPF. WPF - довольно перспективная (потому что Microsoft ещё ничего после неё вроде не придумали) и удобная штуковина. Сначала мне не очень понравилась, но если разобраться, то очень приятная на ощупь технология. Вобщем-то сред тут только две Билдер и ВижуалСтудия, но кроме того, что ВижуалСтудия на фоне Билдера сейчас процветает, так у неё ещё и есть бесплатная версия (Express edition). |
| Автор: boostcoder 31.7.2012, 12:31 |
видимо, осознание необходимости порядка/упорядоченности тебе незнакомо. |
| Автор: Evenstain 31.7.2012, 13:42 | ||
я считаю, что правил не нарушил и мой вопрос относится к "Общим вопросам", а если кто то так волнуется, за то, что форум погрязнет в хаосе и беспорядочности и он просто обязан об этом упомянуть , то .... no comments. лучше бы посоветовали что нибудь, столько же времени бы убили |
| Автор: Evenstain 31.7.2012, 14:04 |
| saneea, спасибо, за информацию. все советуют по-разному, я уж в конец запутался |
| Автор: boostcoder 31.7.2012, 14:05 |
если так мыслить, то я могу в этом разделе создать тему по разработке патча для модуля vmnet для vmware, который мне сейчас выносит моцг. а почему нет? вопрос общий, имеет прямое отношение к с/с++. Добавлено через 36 секунд зачем? чтоб ты и в следующий раз тему тут создал? |
| Автор: EvilsInterrupt 31.7.2012, 14:19 |
| boostcoder, У меня класс картошку нарезать не умеет, можно я тут тему создам? Это вроде общий вопрос ))) |
| Автор: boostcoder 31.7.2012, 14:55 |
| просвещайся: http://forum.vingrad.ru/forum/topic-49632.html Добавлено через 18 секунд специально для тебе подобных создали жО. |
| Автор: EvilsInterrupt 31.7.2012, 15:08 |
| Evenstain, Понимаешь. Ты как бы программер, а это говорит о том, что ты должен быть очень и очень гибким. Толку-то от того что ты тут на обижаешься и позовешь дядей рассудить кого-то с кем-то? Люди приходят на форумы по собственной инициативе, никто им за это не платит зарплату, не добавляют в бонусы при выдаче квартальных премий. Если люди приходят помогать, то они хотят решать реальные и серьезные проблемы, там где люди реально "сыпятся" и "мучаются", там где человек хоть что-то сделал, но он по каким-то причинам не может найти решения своих проблем. Все что ты спросил, это относится к "гугл какие среды есть?" и он тебе ответит, дальше остается только каждую установить и с каждой поиграться. Потом выбрать, поработать, спустя время будут реальные и конкретные претензии к этой среде разработки. Вот только тогда и имеет смысл придти и спросить "Вот есть тута такие неудобства, может кто-то их уже решил?" |
| Автор: Evenstain 31.7.2012, 15:18 |
| EvilsInterrupt, так я и не прошу именно Вас ответить на мой вопрос. может быть кто то тоже был в моей ситуации и напишет, посоветует, что нибудь. почему это Вас так задевает, вот это я не пойму. ну нет у вас времени отвечать на глупые вопросы, так зачем тогда вы развели эту дискуссию. ну помогите тем, кто в этом нуждается. а кто то поможет мне. думаете я не гуглил. вы ошибаетесь, просто хочется узнать побольше мнений, чтобы было отчего оттолкнуться. а учить жизни будете своих детей |
| Автор: magesi 31.7.2012, 15:56 |
| Evenstain, зачем всякие Qt? Сразу алгоритм Ву с матаном и на Native API рисовать окошки в случае Винды или Xlib в случае *nix, а то берует всякие абстракции ) Зато сколько кайфа будет |
| Автор: boostcoder 31.7.2012, 15:57 |
| Evenstain, думаешь ты первый, кто задает вопросы не там где нужно? ты пойми другое. что некоторые на этом форуме довольно давно. другие очень давно. и наблюдать подобный бардак уже сил нет. от того и реакция такая, ибо сначала задают вопросы не поискав по форуму, не смотря на то что для подобных вопросов даже тему отдельную создали. и не просто создали - а еще и закрепили чтоб всегда была на виду. но ты не обращай на это внимания. это ничего. когда сам будешь лицезреть подобные темы раз этак в 200ый - сам поймешь почему такая реакция. |
| Автор: magesi 31.7.2012, 15:59 |
| boostcoder, вообще любого нормального программиста будет раздрожать наличие повтора блока в коде - только |
| Автор: boostcoder 31.7.2012, 16:03 | ||
кстати да! перестаньте повторять слова! с сегодняшнего дня только уникальные! |
| Автор: EvilsInterrupt 31.7.2012, 16:08 | ||
Вы еще это в конвенцию Theme Style занесите... |
| Автор: Evenstain 31.7.2012, 16:11 |
| просто всем нужно валерьянки попить и добрей к людям относиться прикрепленную тему видел, но там же свалка хотел услышать свежие мысли от профессионалов, а получил тока негатив) всем спасибо, все свободны удалите тему к чертям |
| Автор: magesi 31.7.2012, 16:36 |
| Evenstain, мужик, для быстрой прикладной разработки Qt/C++/Python , C#/WPF/Silverlight/WinForms, Java со своим аналогом Для более углубленной , нужно учить Дао в виде потоков, процессов, обработки графики на GPU , всякие gdi, Win32/Native API и Xlib Для еще более углубленной - учить алгоритмы графики, теорию чисел, не Евклидовы геометрии, параллельные вычисления, алгоритмы связанные с обратоткой данных в этом векторе, а также оной оптимизации PS По секрету скажу, но даже самый глубокий уровень познаний гуглится |
| Автор: bsa 31.7.2012, 17:06 |
| Evenstain, главное, определись с целевой платформой. C# тебя жестко привязывает к Windows. Готов ты с этим смириться? Если да, то лучше ничего не найдешь кроме MSVC. Нет? Тогда у тебя выбор QML+Qt+C++ или Java. Java вещь, на мой взгляд, тормозная. Но если работодатель хочет, то... Если хочешь максимум производительности, то QML+Qt+C++. Если графика не нужна, то boost+C++. Если скорость не так важна, то можно посмотреть на Python... Я пишу на C, Qt+C++ и boost+C++. В качестве IDE использую Qt Creator: http://qt.nokia.com . |
| Автор: SVN74 31.7.2012, 18:46 |
| to Evenstain: Для Windows: - надо ориентироваться на самого создателя Windows (Микрософта) , в последние года он тщательно пытается пересадить всех на (Frameworks Net ...), в которых они усовершенствуют (обогащают) доступ к компу.. Теперь посмотрим если взглянуть, каким средством они предлагают с "ворками" работать, - это Visual C# и Visual Basic. Как ни странно в Visual C++ работа с "ворками" добавлена в виде CLI, что напрочь убивает С++ стандарты. Микрософт "забила" на Visual C++ и он (УМИРАЕТ) Напротив VB и VC# они всячески обогащают... К примеру, чтобы написать программку для определения датчиков температуры процессоров на VC# достаточно написать около 10 строк. Я уже не говорю об работе с Forms и DirectX(ами) . Весь комп теперь на ладони, достаточно прописывать видимость либ и все... Сам скоро собираюсь перейти на VC#... |
| Автор: magesi 31.7.2012, 19:19 |
Mono, dotGNU и др. , но основное - Mono, и уже работает нормально в отличии от старых версий вот это еще хорошо идет с Python вполне , да и с др. ЯПами, как Ruby, Lua Не только на Ваш и на мой тоже, и на взгляд любого здравомыслщяего, если M$ свое дите вылезал в плане оптимизации, то наследие от Sun Ораклу досталось унылым А вот это не понял, обычно слово Qt и проиводительность рядом не стоят. Уже давно известно про тормоза Qt в плане графики на всяких сканнер типа Nmap при усиленной работе. Да и в сторону производительности, если советовать, то нужно отказываться от лишних уровней абстракций, иначе асимптота будет увеличиваться на N^2 , а в некоторых случаях и на N^3 Обычно в сторону советуют хорошо начать учить натив, голое API, Compter Science и в этом стиле Добавлено через 3 минуты и 55 секунд она за ним никогда и не следила, даже чистый Си и то только С89 реализован стандарт и то глючно, а что они предлогают в своем С++ - это можно называть смело своим личным стандартом M$ , который просто поддерживает ряд вещей из стандартов ISO Потом, не надо ля-ля про C++ в плане графике, у них появился Hilo для Венды 7 и 8, да и всегда всякие KMDF/UMDF и прочее обвноляется, последний С++ частично поддерживает С++11, конечно это нельзя назвать шибко шагом вперед, но и смертью бы я не называл |
| Автор: boostcoder 31.7.2012, 19:44 |
сам в шоке. теперь разрываюсь между "набираться опыта с пайтон" или "учить моно" %) |
| Автор: Amp 31.7.2012, 20:06 | ||
Товарищ намекает на то, что графика сейчас ускорена посредством GPU. А офф. морда к nmap написана на python и gtk+ - казалось бы причем здесь Qt. |
| Автор: magesi 31.7.2012, 20:50 | ||
Ну а ты посмотри в исходники обоих + посмотри на Вики схему работы , как они с Xlib/WinAPI работают ) тогда вопросы по их идентичности отпадут ) А я явно говорю, что она еще с карт voodoo пошла с 3dfx , еще тогда начались процессы ускорением, и как бы не знаю, гды Вы у него намеки разглядели - там ни намеков и ничего, кроме уверенных слов про Qt, т.к. с расчетом на GPU уже давно все переносят ( что не удивляет и не считается нечто особенным для выделения уже давно ), так что незачет Вам И что GPU? Собственно, дополнительный процессор для параллельных вычислений для вспомогательных целей в обратке опред. рода данных, связанных с графикой и не более |
| Автор: Amp 31.7.2012, 21:30 | ||
| Только WinAPI, только харкдор, я понял, ага. Добавлено через 6 минут и 12 секунд
Разговор же об UI - это и есть графика. Для плюсов кроме Qt с его унылым QML больше вариантов-то адекватных и нет. |
| Автор: magesi 31.7.2012, 21:55 | ||
QML вообще-то не его ) оно такое же, как и др. ЯПов, которое QML юзают вообще-то , чисто по логике А я про что вел разговор? UI не ограничиывается рисованием красивых кнопочек и чтобы статус-бар не тормозил. А если вам имплементировать эффект мехволно нужно будет, как Вы будете разбирать эту задачу? ( как раз про паралеллизм на GPU вычислений с рядом теорем можем завести разговор ) |
| Автор: bsa 31.7.2012, 21:56 | ||||
Добавлено @ 22:00
QML - другое название Qt Quick. Работа его обеспечивается QDeclarative. Поэтому, QML без Qt существовать не может. Другое дело, что для ряда языков существуют биндинги, которые позволяют использовать Qt и, соответственно, QML на данных языках (Python, например). |
| Автор: Amp 31.7.2012, 22:02 |
| Я для сложной бизнес-программы и Qt бы не взял. Там же аховая ситуация со сторонними компонентами типа гридов/графиков/отчетов. Самому все это писать конечно интересно, но по времени это катастрофа. Бегом-бегом на какой-нибудь WinForms/WPF. |
| Автор: bsa 31.7.2012, 22:12 |
А если надо под MacOS или Linux? Или под все сразу? |
| Автор: magesi 31.7.2012, 22:20 | ||||
1). я не работаю с высоким уровнем на своих работах, посему мне из реальной жизни выбирать не из чего ) я как бы реализоваю на низком уровне все + даю АПИ на выском, чтобы другие программисты могли дергать это АПИ не вдаваясь в подробности , а также не делая лишних движений самим 2). сложные бизнес-программы еще исчисляются хорошим владением алгоритмов , неловкое движение и можно на += млн. итераций больше устроить в обработке 3). и вообще задачи могут быть очень разными, некоторые UI пишут для ARM микроконтроллеров на столах с полной эмуляцией эффектов современных ОС , так-то
Я свое замечние насчет QML относил не к Qt, а к С++. Что QML настолько же его, насколько он питоновский и не более, перечитайте контекст пожалуйста. Моно |
| Автор: Amp 31.7.2012, 22:20 |
Если в требованиях стоит нативное приложение, то тут уж конечно Qt плюс адекватные сроки для реализации задачи. Но, по личным наблюдениям, к подобного рода приложениям требования по кроссплатформенности обычно либо не стоит, либо сразу решают делать web-решение. Добавлено через 4 минуты и 5 секунд Mono c GTK# является неудачным решением для Windows и MacOS, так как поддержка GTK+ под эти платформы очень плоха. Можно конечно попытаться из Mono использовать тот же Qt, благо биндинг есть, но это видится странным решением. |
| Автор: magesi 31.7.2012, 22:27 | ||
нормально для офисных задач - пойдет |
| Автор: Amp 31.7.2012, 22:28 | ||
Слушай, там хоткеи отваливаются при смене раскладки - какие уж тут офисные задачи |
| Автор: magesi 31.7.2012, 22:29 | ||
ничего, офисный планктон пережил bsod Венды в 90ык и нулевые, переживут и hotkey , весело зато |
| Автор: Randajad 1.8.2012, 00:14 |
| Побойтесь б-га! Простые смертные! В Mono/Java/C# смерть таится! Не делайте ошибок! В C++ жизнь да обретете вы! |
| Автор: Evenstain 1.8.2012, 09:14 |
| magesi, bsa, SVN74, спасибо, мужики итак, из всего вышесказанного думаю начать все таки с Qt, хотя и напрягает ситуация с нокией. Про Java действительно говорят, что она тормознутая, но на рынке труда почему то популярная и судя по исследованиям одна из самых оплачиваемых на данный момент. С# действительно жестко завязан на винде, но нужно будет тоже пощупать |
| Автор: Amp 1.8.2012, 10:03 |
| Evenstain, все зависит от рынка труда. Посмотри что требуют работодатели в твоем городе и в ближайшие год-два исходи из этих "реальных" потребностей. Но почти наверняка C#/.NET будет наиболее выигрышным вариантом. Какая разница тормозит/не тормозит/на какой платформе работает? Ты же не невесту выбираешь, а просто зарабатываешь деньги. А вот для души конечно можешь более придирчиво отбор проводить |