|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
28.01.2011, 13:24 | #1 |
Новичок
Джуниор
Регистрация: 28.01.2011
Сообщений: 3
|
Нужно определиться с выбором
Прошу не пинать ногами, если создал тему не в том разделе, логичнее всего показалось именно здесь.
Я увлекаюсь программированием довольно давно, но в основном занимался программированием для web на php и js. Захотелось писать приложения для windows. И тут я несколько растерялся - кучая языков, библиотек, стандартов, на разных форумах хвалят разные языки, по принципу, своя рубашка к телу ближе... С программированием для windows знаком весьма поверхностно, знаю синтаксис с++ и с#, писал в с# простенькие программы не выходя за рамки стандартных классов .net. Сейчас планирую заняться разработкой программы, в которую должен быть встроен функционал файл - шреддера и записи dvd/bd дисков. В привычном для меня с# можно реализовать первое, но c imapi2 работать в нем нельзя. Можно конечно прикрутить библиотеки imapi к проекту, я даже нашел, как это делать, но хочется, чтобы все было сделано своими руками и я понимал, как это работает. Так все - таки, на какой язык стоит учить? Я так понял, на с++ и mfc написано подавляющее большинство прог для форточек, а мелкософт вообще пишет на с++ и winapi... Но mfc хаят, мелкософт пишет, что это прошлый век, нужно учить .net, т.е. с#. Но работать с winapi через шарп это сродни мазахизму, имхо. Хвалят Qt. Скачал, поставил. Просто, логично, документация на высоте... Но если выходить за рамки библиотек Qt то к черту летит кроссплатформенность и контролы в нем только основные, маловато их. Чтобы свои делать или изменять существующие, мне еще расти и расти... С++/CLI тоже хают, да и смысл - конечно, удобно работать с api, windows forms и wpf позволяют латать за пять минут офигенные интерфейсы, но для запуска ведь нужен фреймворк весом в 70 мб, с++ компилирует независимый бинарник только для программ win32/mfc? Так все таки, куда сейчас движется программирование для windows? Какой язык лучше учить? c# или c++? Если плюсы, то какие библиотеки использовать? Вряд ли я смогу осилить несклько языков, поэтому хочется определиться и учить что - то одно, наиболее актуальное в будущем. Еще раз напомню, программирование для меня это больше хобби и приробаток, но никак не профессия. Заранее спасибо за вразумительные отзывы. Если не можете сказать что - либо по теме, пожалуйста, не устраивайте флуд и стеб над вопросом. Спасибо. Последний раз редактировалось mr_mag; 28.01.2011 в 13:26. |
28.01.2011, 14:04 | #2 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
> Так все таки, куда сейчас движется программирование для windows?
Вникуда. Вот так и пишем запись двд на С++, окошки на сшарп, кроссплатформеное чудо на Qt, загручики на асме, сайты на ASP+MVC, а студенты на Дельфи )
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
28.01.2011, 14:23 | #3 | |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,695
|
Цитата:
|
|
28.01.2011, 14:42 | #4 |
Линуксоид
Участник клуба
Регистрация: 31.07.2009
Сообщений: 1,403
|
Используй Qt. А каких виджетов не хватало? Да и никуда кроссплатформенность не полетит, если будешь свои создавать :/.
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su |
28.01.2011, 15:55 | #5 |
Новичок
Джуниор
Регистрация: 28.01.2011
Сообщений: 3
|
Огромное спасибо за ответы!
Получается, что оптимальным вариантом будет написание интерфейсов и всего, что укладывается в рамки стандартных библиотек, на с# под .net, а на с++ при помощи winapi выполнять нестандартные задачи и заливать код в библиотеки, которые использовать опять же, под с#? Создавать библиотеки и писать код на с++ будет удобнее в qt, или же стоит юзать вижуал c++ ? |
28.01.2011, 16:24 | #6 |
Линуксоид
Участник клуба
Регистрация: 31.07.2009
Сообщений: 1,403
|
Что за нестандартные задачи ты имеешь в виду?
На Qt есть много всего — начиная от базовых контейнеров (аналог STL, но есть java-like итераторы), кончая работой с мультимедией, сетью, БД... ИМХО, Qt сейчас лучшее для программирования гуёв. Если будешь ботать Qt/C++, из тебя получится довольно универсальный программист. Ещё можно смотреть в сторону Qt/Python, но это, я так понимаю, ты и не рассматриваешь. MFC это ужас и мракобесие. Ни тебе ООП, ни тебе компактного и понятного кода.
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su Последний раз редактировалось Obey-Kun; 28.01.2011 в 16:37. |
28.01.2011, 17:45 | #7 | |
Новичок
Джуниор
Регистрация: 28.01.2011
Сообщений: 3
|
Цитата:
В .net фреймворке не реализовано взаимодействие с imapi, поэтому чтобы припаять такой функционал к программе на c# придется писать часть кода на c++ и win api, а потом закатывать в dll и уже в таком виде подключать их к проекту. Остался один вопрос, что лучше и удобнее - писать код c++ без использования каких - либо библиотек, используя только нативный язык и win api, или все же писать под c++/qt, используя win api только в случае крайней необходимости? Компилятор получше в Visual Studio 10 express или в qt creator (open source)? Как IDE qt creator мне показался удобнее, да и бегает на порядок шустрее. Еще забыл спросить. Вот к примеру, мне нужно сделать файловый шредер. По сути, открыть файл в потоке, и перезаписать его содержимое n число раз заданным байтом по определенной схеме. Задача достаточно тривиальная, но есть одно но. Как быть с правами доступа к файлам и папкам под семеркой? В шарпе для этого описано отдельное пространство имен и проверить права доступа к файлу и получить их в случае необходимости, проблемы на составляет. А как сделать это на qt? Я не нашел этого в документации. Последний раз редактировалось Stilet; 30.01.2011 в 11:11. |
|
28.01.2011, 18:04 | #8 | |||
Линуксоид
Участник клуба
Регистрация: 31.07.2009
Сообщений: 1,403
|
Цитата:
Цитата:
Цитата:
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su Последний раз редактировалось Obey-Kun; 28.01.2011 в 18:16. |
|||
29.01.2011, 00:30 | #9 | |||
Сама себе режиссер
Старожил
Регистрация: 27.04.2007
Сообщений: 3,378
|
Цитата:
Хороший программист может за пару недель-месяц перестроиться на новый язык. Хотя если это не работа, а хобби, то вряд ли придется перестраиваться. Вообще тут, мне кажется, тот случай, когда приходится учиться на своих ошибках, и выбрать язык методом проб, потому что в этом вопросе каждый вам будет отвечать именно из принципа "своя рубашка к телу ближе". Цитата:
Цитата:
Если я вас напрягаю или раздражаю, вы всегда можете забиться в угол и поплакать
|
|||
29.01.2011, 04:17 | #10 | ||
Линуксоид
Участник клуба
Регистрация: 31.07.2009
Сообщений: 1,403
|
Цитата:
Variable size arrays есть в C99 (но нету в C++98). Если уж очень хочется, могу привести цитату из стандарта. Но вообще, там есть их упоминание в списке отличий от C89. Честно лень открывать стандарт и копипастить. Можете почитать полный список отличий C99 от C89 тут: http://www.informit.com/guides/conte...lus&seqNum=215 — там есть и a[n] в том числе. Ну а насчёт косяков с C++98, в кои входит, например, проблемы с вложенными шаблонами, вот: http://msdn.microsoft.com/en-us/libr...v=VS.100).aspx (это уже насчёт C++98). Вот вам пример косяка: http://stackoverflow.com/questions/3...-non-pod-types Честно говоря, я бы gcc под windows использовать бы тоже не стал. Но не потому, что это плохой компилятор, а потому, что под windows ICC шустрее (линкер ld, насколько я знаю, по виндой медленноватую фигню делает, хотя и не сильно медленней icc/msvc++). Цитата:
Да и вообще, вы сравните реализацию SDI/MDI приложений в MFC и на Qt. На MFC она будет более громоздкой и неудобной. Вот тут можете почитать: http://qt.osdn.org.ua/mfc-vs-qt.html (это 2007 года статья, а Qt-то подинамичней mfc развивается). Да и кроссплатформенность это вам не хухры-мухры.
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su Последний раз редактировалось Obey-Kun; 29.01.2011 в 04:34. |
||
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Нужно написать программу, определиться с выбором языка. | Aka-demik | Помощь студентам | 9 | 17.02.2010 23:04 |
Надо определиться | tolstij | Свободное общение | 3 | 24.01.2010 18:45 |
Помогите определиться с доменом | ERASERROR | Свободное общение | 8 | 23.03.2008 16:19 |
Помогите определиться с средой разработки | Руслантус | Свободное общение | 3 | 14.03.2008 23:27 |