C/C++ or Java

Підписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити нові технічні статті

Все привет.
Опишу свою ситуацию.
На данный момент в основном использую C#/.Net и реляционные базы данных.
Область применения:WEB.
давно писал на C++ OpenGL
игрался с Android OpenGL ES

Сейчас хочу освоить на хорошем уровне еще один язык:
Посмотрел на ANSI C:
поигрался с MinGW написал небольшой 3D движок. После OOP на C#, очень непривычно писать в процедурном стиле. Нет try catch, только коды возврата. Не хватает готовых библиотек с реализацией всевозможных примитивов. Но при все при этом получаем кросплатформенность, и просто невообразимое быстродействие.
На рынке труда- не особо востребован.

C+± начал разбираться со стандартами и Open Source проектами- вот уж где можно заблудиться в первых шагов. Вообщем сложный очень. Высокий порог входа. (Изучение стандартов, библиотек аля STL особенностей компиляторов.)
На рынке труда- не особо востребован. Всреднем, ЗП ниже чем по Java/C#

Java — посмотрел, покрутил- тотже C# только намного проще.
Преимущества — кросплатформенность.
На рынке труда- востребован.

Для себя понял что если ради денег то-Java
если для интереса то ANSI C

Что скажите?

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Чего тут говорить, Java конечно.
Всего больше... фана, зп, проектов


C+± начал разбираться со стандартами и Open Source проектами- вот уж где можно заблудиться в первых шагов. Вообщем сложный очень. Высокий порог входа. (Изучение стандартов, библиотек аля STL особенностей компиляторов.) На рынке труда- не особо востребован. Всреднем, ЗП ниже чем по Java/C#
У нас да, он не очень востребован — специфика аутсорса. Я знаю, что до сих пор заходят в Украину интереснейшие C/C++ проекты, но, как правило, они сдуваются со временем, т.к. невозможно найти программеров: либо выехали, либо перекрасились. На местном рынке до сих пор часто предлагают работу какие-то жмоты. Подкатывают с предложением зарплаты в $1,500 и обижаются на гомерических хохот вместо ответа.

Да и язык — языком, но тут более важна область применения языка. Мне более близки 1) high performance computing и различные оптимизации. Например, многие готовы очень хорошо платить за реализацию кусков кода на SSE/NEON intrinsics (хотя от С/C++ тут одно название остаётся, но всё же — software.intel.com/...ntrinsics-guide ). Достаточно один раз вывернуть мозг и всё становится понятным. Для прочих оптимизаций необходимо знать очень много алгоритмов хотя бы в общих чертах, чтобы знать когда и что можно применить. 2) Realtime — порог вхождения не очень высок, достаточно просто понимать подход и тенденции и нарабатывать опыт. Это часто является магическим словом, которое увеличивает зарплату. 3) Mission/Life critical — тут придётся попотеть, существует множество стандартов и техник, но опять же ничего сверхсложного. Можно сразу претендовать на топовые зарплаты, но работа слегка скучновата. 4) System level — порог вхождения, наверное, самый высокий, очень много стандартов, спецификаций и различных документаций, нужно нарабатывать опыт. 5) Embedded — в чистом виде довольно редко встречается, обычно цепляется ко всему вышеперечисленному. Ну и, естественно, необходимо сочетать все вышеперечисленные области применения, чтобы получить максимальную отдачу. Опять же никто не будет удивляться тому, что в этих областях многое пишется на С/C++, включая десктопные приложения и сервера.

Спасибо за развернутый совет, теперь понятней- куда смотреть в случае с Си

Слышал это утверждение множество раз. Но для меня это всеже загадка. Почему на чистом си не принято писать по сервера, десктоп- не удобно по сравнению с объектоно ориентированными языками? Дорого? медленно?
Почему?

Например, десктоп программа под винду. Можно написать на С, код создания-открытия окна будет достаточно большим, тк придется обрабатывать все сообщения, приходящие окну вручную.
Вы хоть раз пробовали делать то, о чем рассуждаете? Судя по всему нет. Обрабатывать все сообщения не нужно, для этого есть DefWindowProc(), которой вы передаете обработку сообщений, которые вас не интересуют. Обработка сообщений окна на С особо не отличается от C#/WinForms.

Так принято в индустрии. Непонятно зачем отказываться от ООП и в общем то не таких уж и плохих STL & Boost.

Почему не принято? Не принято сайтики писать, а серверные движки вполне вполне пишут.

В чем заключается вопрос?
Хотя не важно, все равно ответа не будет.
Нету лучшего языка, нету лучше платформы и нету лучшей технологии.
А разработка программного обеспечения — это всегда борьба, и вечные всякие сложные проблемы. Разве что если клепать сайты визитки (но там и программирования нету).
Я скажу что писать к примеру на C# мне приятней чем на С++, потому что нет проблем со строчками, памятью, модульностью, и подключенная библиотека просто работает (а не дает кучу ошибок линковки, пока не подберешь нужные настройки). В тоже время, если мне понадобится читать и писать хедеры MP3, на С++ это будет сделать проще, да и картинку по пикселям читать и писать.

Верно, для всякой задачи есть наиболее подходящие инструменты.
Вопрос, скорее мнение пользователей доу мне интересно.
У тех кто специализируется на C#- какой язык дополнительно изучает/использует? JavaScript|SQL| PL-SQL|T-SQL не всчет- это и так ясно.

Я, например, поковыриваю, когда есть время и желание, python environment, уж очень приятный язык. Да и область применения довольно обширна.

Спасибо за ответ.

python environment
 А что за области применения? Кроме веба используют еще для скриптования в *nix системах, где еще?
А что за области применения?
Я не спец в этом стэке, но, на вскидку, довольно популярная в забугорье OpenERP. Да и просто «под» любой десктоп можно, хотя и не имеет такого распространения, как те же Java- и .NET-формочки. Так что, не одним вэбом и скриптованием...

Ответ как бы содержится в тексте топика.

Согласен.
Добавлю немного- Java не особо нравится т.к. её область применения почти 1 в 1 с .Net
Вообще полезно мысли записывать. :) Вот сам прочитал и понял с ANSI С мне интересней работать сейчас.
плюс мой интерес и потуги в computer vision — точно опредяют что мне надо.

её область применения почти 1 в 1 с .Net
как же мобильные приложения?
Для себя понял что если ради денег то-Java
если для интереса то ANSI C

jobs.dou.ua/salaries не показывает, что у C-программистов обязательно зарплаты меньше.

посмотрим кто из вас больше попал в результате ))

Константин- отлично. Кстати как там все прошло- оффер получили?
Каждый раз, возвращаясь к Си после некоторого промежутка времени- заново приходится вспоминать ссылки и указатели (Надо чаще на Сях практиковаться)

Ребята та вы шо ? какие в ANSI C ссылки...

А на Фортране на самом деле всё просто: он тоже Си- или Паскале-подобный.

Підписатись на коментарі