2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу Пред.  1, 2
 
 
Сообщение05.05.2009, 22:18 
Заслуженный участник


19/07/08
1266
Firarika в сообщении #211256 писал(а):
Могу сказать, что для С++ выбрал бы Вижуал.
Вот если речь о Джаве идет - тогда да, Экслипс - самое то.

Фортран? Питон?

 Профиль  
                  
 
 Re: Софт для студентов
Сообщение02.06.2009, 18:56 
Аватара пользователя


19/05/09
53
Москва
nestoklon писал(а):
Как там у .NET с кроссплатформенностью?

Ну как сказать...
Mono-то конечно есть под никсы (недавно даже под Солярис заточили), да есть ещё .GNU Portable.NET, и, вроде как, все должны быть счастливы - .NET стал платформонезависимым. Однако ситуация примерно эквивалентна той, когда вы используете cygwin в Windows для эмуляции никсов - да, вроде вот он, любимый bash и прочие особенности никс-систем, но почти все согласятся, что всё равно этой эмуляции далеко до полноценной никс-платформы (гну/линукс, например), сказываются и принципиальные особенности архитектуры.

И как, если не секрет, разработчики того же Mono планируют по-быстрому обновляться, чтобы соответствовать новым .Net'ам от M$? Очевидно, что это процесс довольно длительный, а задержки (да и время в целом) - штука очень дорогостоящая, особенно в коммерции. Даже сейчас API там, к сожалению, имеет достаточно узких мест (System.Windows.Forms, например).

Даже у самой MS есть некоторые проблемы с .Net, в числе которых, например, характерная несовместимость "снизу вверх" (и наоборот). Скажем, приложения под .Net 2.0 очень и очень часто отказываются работать под .Net 3.0, а в результате у пользователя на компьютере оказывается уйма семантически однотипного мусора - 1 нет, 1.1, 2.0, 2.1, 3.0, 3.5, 4.0 и т.д... Демонстрирует ли это продуманность и зрелость архитектуры? Едва ли.
Разработчики Mono, кстати, для себя эту проблему решили посредством модульной архитектуры проекта, да и вообще проект необходим, как воздух (особенно учитывая появление сайтов с .Net'ом, которые, естественно, под тем же линуксом работают не вполне корректно), но моё настроение насчёт собственного будущего всего этого - всё-таки немного скептическое.

Какие цели .Net вообще преследует? Чем эта технология лучше, скажем, чем Java? И то, и другое вроде как построено на схожих принципах, вроде как обе технологии работают и для веб, и для "настольных" приложений, да и обе, вроде как, весьма хороши для быстрой, порой даже шаблонной, и довольно простой разработки.
Осознав эту небольшую ошибку и то, что Java всё-таки более производительная, MS начали кампанию о том, что ".Net - языконезависимая технология! Здесь вы сможете одновременно работать и с C#, и с Delphi, и с C++ (от себя: под C++ подразумевается его реализация под .Net, т.н. Managed C++), и с VB!". На первый взгляд это больше походит на увлекательную игрушку-конструктор - соедини кусочек корабля с кусочком машины и ты получишь новую прикольную штучку.
Впрочем, в этом есть смысл - он в минимизации затрат. Каким образом? Всё просто - в компанию можно нанять таких программистов, которые умеют писать только на каком-то одном языке и пересесть на другой вследствие отсутствия фундаментальных знаний не могут. А зачем? ~90% производственных задач запросто решаются родным фреймворком, а недостающие ~10% попробуем найти в интернете как компоненты. И стоят такие кодеры, понятное дело, меньше (хотя неподготовленный работодатель наоборот зачастую считает, что нанимая человека с надписью C# в анкете он получает настоящего профессионала, так как слово вроде новое и модное, а значит и платить готов больше). Один такой мастер напишет компонент на Дельфи, другой на C#, а третий ещё и на VB... И всё это вместе будет работать - красота! Жаль только, что медленная, а значит не очень подходящая под действительно серьёзные проекты. Но натыкать кучку красивых окошек, на ивенты навешать кучу "крутых" методов, предоставляемых фреймворком чуть ли не из разряда "CalculateEverything" - это всегда пожалуйста, и для многих заказов это 99,9% оправдано.

И если бы MS так открыто и говорила бы - всё было бы прилично, но, например, чего стоит статья MS о том, что производить научные вычисления лучше всего с применением C# и .Net... Вот это уже перебор, поскольку надо помнить, что есть много лекарств от разных болезней, но нет ни одного из них, помогающего "от всего", так и технологии имеют свою вполне конкретную направленность на какие-то цели, и всемогущество им приписывать НЕ надо.
Например, если тот же Firefox или Evolution написать на C#, то разница, которая якобы "пренебрежимо мизерна" стократно помножится, и перерастёт в такие вещи, которые пользователь как раз заметит. Поэтому не стоит отвёрткой, лобзиком и напильником делать рамку для фотографий, когда её можно купить и отдекорировать как душе угодно, но и не стоит изготавливать мебель при помощи кисточки и заранее данных блоков-фигурок, которые надо ещё и таскать с собой, то в обоих случаях получим либо ерунду, либо неоправданно большую затрату ресурсов.

з.ы.: Сорри за оффтоп, накипело. :oops:

Firarika, что касается C++ под винду и под амд/интел - всеми конечностями согласен, MSVC++ действительно очень хорош как компилятор. Как IDE - судить не берусь, не так уж я с ним много работал, но отладка и прочие прелести там удобны и порой более просты в настройках, чем аналогичные в Eclipse.
Eclipse в основном берёт своей расширяемостью и широтой возможностей, но чтобы их применить - надо изрядно покопаться. Потенциал у Eclipse, безусловно, просто огромнейший. Скажем, на её основе сделаны и среда для Java, и Zend Studio и многие другие. Кстати Zend Studio использую активно и часто, и готов сказать с полной уверенностью, что это крайне удобная среда для веб-программирования, сочетающая в себе очень удобную работу с проектами, написанными главным образом на php, js и подмножествами html. Лично для меня более удобная, чем Adobe Dreamweaver, который всё-таки гораздо больше ориентирован на вёрстку. Впрочем, обе платны (хотя кого у нас это сильно волнует? :) ). :(

Что бы кто ни говорил про MS Visual Studio, а MSVC++ всё-таки очень хорошо оптимизирует код, и это один из продуктов, которые у MS получились действительно хорошо. Как это не прискорбно для меня, любителя GNU и всего смежного, но зачастую код, генерируемый MSVC++ ненамного, но эффективнее, чем такой же под GCC.
Однако GCC имеет в кармане несколько тузов - он действительно платформонезависим. Ему почти всё равно, под какой системой и под каким процессором и оборудованием работать, чего не скажешь ни об Intel C++ Compiler, ни о MS VC++.
И в этом одна из его величайших сил. :)

з.ы.: "Первая доза - бесплатно". Студент, всю свою жизнь проработавший с MS VS, будет очень и очень нелюбовно относится к любой другой IDE.
M$ видимо ожидают, что такие новоиспечённые программисты армией придут к работодателям с лозунгом "Даёшь MSVS программистам!"...
И ведь отчасти они правы, хотя моё имхо - обучаться по началу лучше всего в "простеньких", но при этом мощных системах (например, GCC + gdb + emacs, либо тот же компилятор от MSVS, но в режиме командной строки, + notepad++ или что-то такое, чтобы была подсветка синтаксиса, но не более), которые не так сильно абстрагированы от оборудования, а потом - пожалуйста.

Забыл сказать:
Но несмотря на все плюсы, у MSVC++ действительно плохо с собственной стандартизацией и поддержкой стандартов в целом. Особо сильного соответствия ни старому, ни новому ANSI C++ я у него не вижу.

Про Си под ним я вообще молчу, не для того MSVC++ всё же делали, что, правда, и заметно...
Си он может компилировать чисто как подмножество С++ (т.е. только унаследованные от С89 элементы), но не как собственно Си, что, разумеется, накладывает свои ограничения и "особенности" (в простонародье - баги).
Так что если Си стандарта С89 ещё хоть как-то поддерживается, то о С99 остаётся только мечтать...

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 17 ]  На страницу Пред.  1, 2

Модератор: Модераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group