Технологии используемые в высокотехнологичных направлениях
От: Kedr  
Дата: 09.05.11 12:06
Оценка:
Всем добрый день.

В данный момент занимаюсь разработкой бизнес-приложений на C#, но в будущем хотелось бы заниматься чем-нибудь более высокотехнологичным. Например, чем-нибудь из области искусственного интеллекта или сложных научных расчетов.
Изредка попадаются вакансии, где ищут .NET-чиков на что-то более-менее интересное, но их очень мало. Подобных вакансий на C++ или Java гораздо больше, а абсолютное большинство .NET вакансий — это та же бизнес-автоматизация или создание сайтов.
Хотел бы узнать мнение сообщества будет ли в будущем ситуация меняться. Стоит ли при таком раскладе продолжать развиваться как .NET-чик или же лучше пытаться перейти на C++, Java или что-то другое?
Re: Технологии используемые в высокотехнологичных направлени
От: PAS_Tor Германия http://passtor.blogspot.com/
Дата: 09.05.11 12:45
Оценка:
Это в стиле: "погадайте люди дорогие, а то так переучиваться лень".

Зачем спрашивать? Сейчас тут разведут полемику, а толку для Вас никакого. Видите шанс — хватайте быка за рога. Через 10 лет возможно всё с ног на голову перевернётся, другие языки/технологии будут и прийдётся снова учить и переучивать. На мой личный взгляд, если спрашиваете, а не пытаетесь писать на С++, значит не так уж и интересна Вам та область, о которой говорите.

Здравствуйте, Kedr, Вы писали:

K>Всем добрый день.


K>В данный момент занимаюсь разработкой бизнес-приложений на C#, но в будущем хотелось бы заниматься чем-нибудь более высокотехнологичным. Например, чем-нибудь из области искусственного интеллекта или сложных научных расчетов.

K>Изредка попадаются вакансии, где ищут .NET-чиков на что-то более-менее интересное, но их очень мало. Подобных вакансий на C++ или Java гораздо больше, а абсолютное большинство .NET вакансий — это та же бизнес-автоматизация или создание сайтов.
K>Хотел бы узнать мнение сообщества будет ли в будущем ситуация меняться. Стоит ли при таком раскладе продолжать развиваться как .NET-чик или же лучше пытаться перейти на C++, Java или что-то другое?
Follow my blog @ http://passtor.blogspot.com/
Re: Технологии используемые в высокотехнологичных направлени
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 09.05.11 13:12
Оценка:
Здравствуйте, Kedr, Вы писали:

K>Всем добрый день.


K>В данный момент занимаюсь разработкой бизнес-приложений на C#, но в будущем хотелось бы заниматься чем-нибудь более высокотехнологичным. Например, чем-нибудь из области искусственного интеллекта или сложных научных расчетов.

K>Изредка попадаются вакансии, где ищут .NET-чиков на что-то более-менее интересное, но их очень мало. Подобных вакансий на C++ или Java гораздо больше, а абсолютное большинство .NET вакансий — это та же бизнес-автоматизация или создание сайтов.
K>Хотел бы узнать мнение сообщества будет ли в будущем ситуация меняться. Стоит ли при таком раскладе продолжать развиваться как .NET-чик или же лучше пытаться перейти на C++, Java или что-то другое?

чтобы заниматься чем-то вывокотехнологичным нужно знать алгоритмы и понимать предментную область. фреймворки и языки тут вторичны.
Re: Технологии используемые в высокотехнологичных направлени
От: bkat  
Дата: 09.05.11 16:15
Оценка:
Здравствуйте, Kedr, Вы писали:

K>Всем добрый день.


K>В данный момент занимаюсь разработкой бизнес-приложений на C#, но в будущем хотелось бы заниматься чем-нибудь более высокотехнологичным. Например, чем-нибудь из области искусственного интеллекта или сложных научных расчетов.


Учи C#, С/C++ и Java.
Их широко использут в высокотехнологичных направлениях

Если интересуют сложные научные расчеты, то Matlab и фортран тебе в руки
Re: Технологии используемые в высокотехнологичных направлени
От: rtbsd http://rtbsd.org/
Дата: 09.05.11 16:29
Оценка:
Здравствуйте, Kedr, Вы писали:

K>пытаться перейти на C++, Java или что-то другое?

В этой фразе только "перейти" лишнее слово. Не надо никуда переходить. Надо, по мере возможностей, приобретать хотя бы общее представление о языках, технологиях и инструментах, которые кто-то уже использует или планирует использовать в интересующих областях.
Все написано там
Re[2]: Технологии используемые в высокотехнологичных направл
От: Kedr  
Дата: 09.05.11 22:21
Оценка:
Здравствуйте, PAS_Tor, Вы писали:

PAS>Это в стиле: "погадайте люди дорогие, а то так переучиваться лень".


PAS>Зачем спрашивать? Сейчас тут разведут полемику, а толку для Вас никакого. Видите шанс — хватайте быка за рога. Через 10 лет возможно всё с ног на голову перевернётся, другие языки/технологии будут и прийдётся снова учить и переучивать.


Мне как раз интересно не гадание и полемика, а факты и мнение знающих людей по данному вопросу.
Ожидал услышать что-то вроде
"я работаю в области ***, в последнее время мы потихоньку стали отказываться от использования *** в пользу перехода на ***, потому что ***"
или
"а я вот наблюдаю такую-то тенденцию, и слышал, что даже в Яндексе решили переписать свои поисковые алгоритмы на ***".
Re[2]: Технологии используемые в высокотехнологичных направл
От: Kedr  
Дата: 09.05.11 22:33
Оценка:
Здравствуйте, gandjustas, Вы писали:

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


В общем согласен.
Но представьте висит вакансия:

Обязательные требования:
* AAA
* глубокие знания C++ (от 5 лет)
* BBB

Допустим я знаю AAA и BBB, но занимался этим исключительно на .NET. Каковы мои шансы на эту вакансию?
А на .NET подобных вакансий мало или вообще нет.
Re[3]: Технологии используемые в высокотехнологичных направл
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 09.05.11 22:57
Оценка:
Здравствуйте, Kedr, Вы писали:

K>Здравствуйте, gandjustas, Вы писали:


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


K>В общем согласен.

K>Но представьте висит вакансия:

K>Обязательные требования:

K>* AAA
K>* глубокие знания C++ (от 5 лет)
K>* BBB
K>

K>Допустим я знаю AAA и BBB, но занимался этим исключительно на .NET. Каковы мои шансы на эту вакансию?
Вообще-то сильно зависит от AAA и BBB. Можно сходить на собеседование и узнать.

K>А на .NET подобных вакансий мало или вообще нет.

Исторический фактор. .NET сильно моложе java и C++, поэтому и проектов мало.
Re: Технологии используемые в высокотехнологичных направлени
От: fleandr  
Дата: 10.05.11 04:15
Оценка:
Здравствуйте, Kedr, Вы писали:

K>Всем добрый день.


K>В данный момент занимаюсь разработкой бизнес-приложений на C#, но в будущем хотелось бы заниматься чем-нибудь более высокотехнологичным. Например, чем-нибудь из области искусственного интеллекта или сложных научных расчетов.

K>Изредка попадаются вакансии, где ищут .NET-чиков на что-то более-менее интересное, но их очень мало. Подобных вакансий на C++ или Java гораздо больше, а абсолютное большинство .NET вакансий — это та же бизнес-автоматизация или создание сайтов.
K>Хотел бы узнать мнение сообщества будет ли в будущем ситуация меняться. Стоит ли при таком раскладе продолжать развиваться как .NET-чик или же лучше пытаться перейти на C++, Java или что-то другое?

В таких областях ценится знание прикладного аспекта. Обычно кода там достаточно весьма средненького. Ну максимум с заточкой на производительность.
Множества объектов разводить не требуется. Зато надо сильно много думать над алгоритмом и архитектурой а также над прикладной областью.
Языки используются весьма разные, из того что знаю C++,Java,C#,python,perl,Matlab. Часто если допиливается что-то с открытым кодом, то и пишется на языке исходника.

Фортран раньше был мегакрут по скорости для математики но вроде компилятор СИ уже с 9 версии его обгоняет, так что многие мигрировали на си.
Re: Технологии используемые в высокотехнологичных направлени
От: __kot2  
Дата: 10.05.11 04:47
Оценка:
Здравствуйте, Kedr, Вы писали:

K>Всем добрый день.


K>В данный момент занимаюсь разработкой бизнес-приложений на C#, но в будущем хотелось бы заниматься чем-нибудь более высокотехнологичным. Например, чем-нибудь из области искусственного интеллекта или сложных научных расчетов.

все такие вещи пишутся на С++, регулярно пытаются подобное сделать на Java и Питоне, но потом обычно или загибаются или переписываются на С++. например, на хабрабобре была недавно история что первый движок гугла был на яве написан, потом все переписали на С++
Re: Технологии используемые в высокотехнологичных направлени
От: jhng Россия  
Дата: 10.05.11 05:29
Оценка: +3
Ну по моему мнению стоит смотреть в сторону вычислений на графических процессорах (CUDA, OpenCL и т.д.), поскольку, если посмотреть различные прикладные работы, то четко прослеживается тренд портирования современных и классических численных методов на архитектуры с массовым параллелизмом. В некоторых (но не во всех) случаях это позволяет сравнительно дешево получить существенный (в разы и даже на порядки) выигрыш по скорости вычислений. Как сопутствующие технологии здесь следует знать С, С++ и хотя бы одну платформу для математических вычислений, например, matlab, mathematica и т.д. Кроме того обязательно если не доскональное знание, то хотя бы понимание какой-либо конкретной предметной области.

Все ИМХО.
Re[4]: Технологии используемые в высокотехнологичных направл
От: Anatolix Россия https://www.linkedin.com/in/anatolix/
Дата: 10.05.11 06:33
Оценка: +2
Здравствуйте, gandjustas, Вы писали:

K>>Допустим я знаю AAA и BBB, но занимался этим исключительно на .NET. Каковы мои шансы на эту вакансию?

G>Вообще-то сильно зависит от AAA и BBB. Можно сходить на собеседование и узнать.

K>>А на .NET подобных вакансий мало или вообще нет.

G>Исторический фактор. .NET сильно моложе java и C++, поэтому и проектов мало.

Не исторический факт: в научных рассчетах обычно не голая математика с одной формулой, а много-много данных или много много рассчетов.
Данные могут быть как образ интернета, так данные снятые с датчиков коллайдера, или 600Mb строки с человеческим геномом.
Для значительной части требуется много CPU в рассчетах, например для моделирования погоды, ядерного взрыва, или аэродинамики bmw.

Много ресурсов означает много серверов. Много серверов означает unix(windows кластера стоят денег за софт, и чудовищны в администрировании) и никакой винды. .net в unix среде как-то не очень модная технология. Поэтому на нем и нет науки.
Любая проблема дизайна может быть решена введением дополнительного абстрактного слоя, за исключением проблемы слишком большого количества дополнительных абстрактных слоев
Re[3]: Технологии используемые в высокотехнологичных направл
От: Паблик Морозов  
Дата: 10.05.11 07:05
Оценка: :)
K>"я работаю в области ***, в последнее время мы потихоньку стали отказываться от использования *** в пользу перехода на ***, потому что ***"
K>или
K>"а я вот наблюдаю такую-то тенденцию, и слышал, что даже в Яндексе решили переписать свои поисковые алгоритмы на ***".

я работаю в области внедрения MS CRM, Sharepoint, MOSS и NAV, в последнее время мы потихоньку стали отказываться от использования C# в пользу перехода на Хаскель, потому что Хаскель — простой и понятный язык для нормальных людей вроде консультантов и деплоймент-инженеров, отчищенный от байтосодомии и делающий специально выведенных компьютерных программистов ненужными. Да, вы не ослышались. После того, как этот язык для нормальных людей получит распространение, байтоспарта закаленных трудностями программирования под архитектуру фон Неймана и неудосбтвами аппликативного порядка боевых инженеров-программистов потеряет всякий смысл. Что останется делать после этого недоинженерам, которых за пять лет обучения в вузе так и не научили ничему человеческому? Остается только самостоятельное освоение теории категорий.
Re[4]: Технологии используемые в высокотехнологичных направл
От: dotidot Россия  
Дата: 10.05.11 07:22
Оценка:
Здравствуйте, Паблик Морозов, Вы писали:

ПМ>я работаю в области внедрения MS CRM, Sharepoint, MOSS и NAV, в последнее время мы потихоньку стали отказываться от использования C# в пользу перехода на Хаскель, потому что Хаскель — простой и понятный язык для нормальных людей вроде консультантов и деплоймент-инженеров, отчищенный от байтосодомии и делающий специально выведенных компьютерных программистов ненужными. Да, вы не ослышались. После того, как этот язык для нормальных людей получит распространение, байтоспарта закаленных трудностями программирования под архитектуру фон Неймана и неудосбтвами аппликативного порядка боевых инженеров-программистов потеряет всякий смысл. Что останется делать после этого недоинженерам, которых за пять лет обучения в вузе так и не научили ничему человеческому? Остается только самостоятельное освоение теории категорий.


"не судите меня строго, я маленький и еще только учусь"(С)
Re[2]: Технологии используемые в высокотехнологичных направл
От: neFormal Россия  
Дата: 10.05.11 07:37
Оценка:
Здравствуйте, __kot2, Вы писали:

__>все такие вещи пишутся на С++, регулярно пытаются подобное сделать на Java и Питоне, но потом обычно или загибаются или переписываются на С++. например, на хабрабобре была недавно история что первый движок гугла был на яве написан, потом все переписали на С++


афаир первый движок гугла был написан через мягкое место.. потом наняли какого-то д.т.н. на рефакторинг..
...coding for chaos...
Re[4]: Технологии используемые в высокотехнологичных направл
От: Mihas  
Дата: 10.05.11 07:42
Оценка:
Здравствуйте, Паблик Морозов, Вы писали:

ПМ>Да, вы не ослышались. После того, .... инженеров-программистов потеряет всякий смысл.


Один умудренный опытом мужик говаривал: "Когда-то лет 25 назад, когда появились интегральные схемы, мы думали что схемотехники скоро будут не нужны. Оказалось не так"
Re[4]: Технологии используемые в высокотехнологичных направл
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 10.05.11 18:36
Оценка:
Здравствуйте, gandjustas, Вы писали:

K>>А на .NET подобных вакансий мало или вообще нет.

G>Исторический фактор. .NET сильно моложе java и C++, поэтому и проектов мало.

Не только молодость, но и среда обитания. UNIX-мир роднее для науки, чем Windows.
Re[2]: Технологии используемые в высокотехнологичных направл
От: MasterZiv СССР  
Дата: 10.05.11 20:48
Оценка:
On 10.05.2011 8:15, fleandr wrote:

> Фортран раньше был мегакрут по скорости для математики но вроде компилятор СИ

> уже с 9 версии его обгоняет, так что многие мигрировали на си.

На каком этапе пути он интересно знать его обгоняет ?

Как бы колёса у них у обоих круглыя, примерно одного диаметра.

Одна вот незадача -- FORTRAN распараллеливается легко (автоматически), а вот ни
C, ни С++ на это принципиально не способен, только "на ручной передаче".
И тут-то выясняется, что на одной и той же машинке с 16 цилиндрами
фортранова программа может работать до 16 раз быстрее, а С-шная --
только один цилиндр использовать будет.
Posted via RSDN NNTP Server 2.1 beta
Re[3]: Технологии используемые в высокотехнологичных направл
От: Cyberax Марс  
Дата: 10.05.11 20:52
Оценка:
Здравствуйте, MasterZiv, Вы писали:

MZ>На каком этапе пути он интересно знать его обгоняет ?

MZ>Как бы колёса у них у обоих круглыя, примерно одного диаметра.
MZ>Одна вот незадача -- FORTRAN распараллеливается легко (автоматически)
Если бы. В более новых Фортранах есть все проблемы с aliasing'ом.

MZ>И тут-то выясняется, что на одной и той же машинке с 16 цилиндрами

MZ>фортранова программа может работать до 16 раз быстрее, а С-шная --
MZ>только один цилиндр использовать будет.
Поэтому программисты на С используют OpenMP. Как, кстати, и серьёзные программисты на Фортране.
Sapienti sat!
Re: Технологии используемые в высокотехнологичных направлени
От: мыщъх США http://nezumi-lab.org
Дата: 10.05.11 20:59
Оценка:
Здравствуйте, Kedr, Вы писали:

K>Всем добрый день.


K> В данный момент занимаюсь разработкой бизнес-приложений на C#,

K> но в будущем хотелось бы заниматься чем-нибудь более высокотехнологичным.
K> Например, чем-нибудь из области искусственного интеллекта или сложных научных расчетов.
в качестве средства для быстрого прототипирования C# вполне подходит для ИИ, а так же для моделирования того, что требуется обсчитать, хотя тут все упирается в доступность библиотек (не уверен, что они есть для C# в силу его относительной новизны и ореентации -- в университетах в основном никсы и под никсовые языки создаются тонны библиотек).

будучи системным программистом я последние ~15 лет ковырял потроха разных систем и шарахался от матчасти как черт от бена ладана. последние два года курю алгосы и создают свои, за счем чего обеспечиваю конкурентное преимущество продукту фирмы. вот щас в подтверждение моих упорных трудов позволи в универ на следующую туссовку: http://secindustry.cs.ucsb.edu/ где мы будем говорить как переложить ИИ на FSM.

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

отсюда -- отличное знание C# не обеспечит вам преимуществ в "высокотехнологичной" сфере, т.к. в таких сферах на язык предпочитают не отвлекаться и основной упор делается на поставленную задачу, одну из которых я на этом форуме приводил — мультипоиск большого кол-ва шаблонов в коротких строках с наперед неизвестной кодировкой. за решение по скорости за O(N) и памяти O(1) мне деньги хорошие платят. само решение (на уровне прототипа) помешается на экран.

K>Изредка попадаются вакансии, где ищут .NET-чиков на

K>что-то более-менее интересное, но их очень мало.
коллега на .net'е написал TCP-ассемблер. интересно?

K> Подобных вакансий на C++ или Java гораздо больше,

а это случайно не вакансии на кодеров? ну будете вы кодить не бизнес-приложения, а какие-то там расчеты непонятно чего. мне кажется, что вы хотите работать в R&D, а в R&D подразделениях к знаниям языков предъявляются весьма либеральные требования. видели бы я как программирую. любой нормальный программист, увидев такой код, стошнил бы чистой жельчью на полпути до унитаза. а ведь код работает в критических инфраструктурах в реалтайме. и меня никто не пинает ногами.

K> а абсолютное большинство .NET вакансий — это та же бизнес-автоматизация или создание сайтов.

на .net сложно делать что-то другое.


K> Хотел бы узнать мнение сообщества будет ли в будущем ситуация меняться.

научные расчеты в разное время делались на разных языках, но главным образом под никсы. net на эту нишу не претендует и навряд ли ее займет до того как о ней (о net, а не нише) все забудут. java язык хороший, но далеко не единственный -- сейчас народ активно экспериментирует с новыми технологиями программирования, впрочем, полноправных переемников что-то не видно. от плюсов в научных расчетах постепенно отказываются. он и раньше был не самым популярным средством в этой области, а с увеличением мощи процов стал заметно сдавать позиции (обращаю ваще внимание, что научные расчеты имплементируют кодеры, а хорошие кодеры на плюсах как бы сильно дороже процессоров)

> Стоит ли при таком раскладе продолжать развиваться как .NET-чик

> или же лучше пытаться перейти на C++, Java или что-то другое?
язык это только инструмент. за знания языка платят немного и творческой работы никакой не поручают. качественный скачок наступает, когда язык уходит на второй план.

впрочем, .net это винда (моно не берем в расчет). а си или java это и винда, и никсы, и маки. вот такая разница.
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.