![]() |
|
Модераторы: LSD |
![]()
|
|
||
|
|
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 9 Всего: 538 |
Вот и я о чем -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| alexSl |
|
|||
![]() проходил мимо Профиль Группа: Участник Сообщений: 28 Регистрация: 22.2.2008 Репутация: нет Всего: нет |
||||
|
||||
| Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 4 Всего: 154 |
Итак, я сейчас немного не в себе, но все же попытаюсь ответить максимально объективно.
На мой взгляд, сравнивать Java/C# и С/C++ - глупая затея. Это просто разные вещи. Мало того, любой компетентный программист обязан знать что нибудь из первой пары и что нибудь из второй. С/C++ это единственный возможный выбор в некоторых ситуациях, таких ситуаций, мягко говоря - не много. Это как правило системы, требующие очень низкой латентности, HFT например, очень и очень высоко нагруженные системы и тд. Помимо этого, такие низкоуровневые языки позволяют программисту приобрести очень неплохие навыки программирования. Любой адекватный программист на С/C++, который участвовал в разработке сложных систем, учится очень рациональному, прагматичному подходу к программированию, помимо этого, эти языки немного ближе к железу, по крайней мере создают такую иллюзию. Главное отличие второй пары языков от первой - ручное управление памятью. Запомним это, мы к этому еще вернемся. Java/C#, в свою очередь, нацелены на продуктивность разработчика, это кстати не значит, что они не позволяют писать высокопроизводительный код. За счет чего это достигается? Главным образом - за счет сборщика мусора, сборщик мусора - это такая штука, которая призвана создать у программиста иллюзию работы на компьютере с бесконечным объемом памяти, на котором естественно не нужно писать код для освобождения памяти. Это приводит к тому, что очень больше количество кода просто не нужно писать, мало того, необходимость освобождения памяти не нужно учитывать при разработке архитектуры приложения. Это очень сильно увеличивает скорость разработки. Помимо этого, в java/C# нет указателей(ну или почти нет). Это означает, что испортить память просто невозможно. Для этих языков(точнее для этих платформ) существуют куда более развитые средства разработки, IDE, отладчики, инстументы рефакторинга и тд. Недостатки же как всегда следуют из достоинств, если вам нужен высокопроизводительный код, вам нужно знать как работает GC, если вы скажем хотите создать свою структуру данных, то вам нужно сделать ее GC-friendly и тд. В общем, мой вывод - знать С или С++ нужно, но писать лучше на java или C#, это позволит вам быть более продуктивным и достигнуть большего. |
|||
|
||||
![]()
|
| Правила ведения Религиозных войн | |
|
|
1. Уважайте собеседника 2. Собеседник != враг 3. Старайтесь воздерживаться от тем вида "Windows Rulez" или "Linux Rulez" С уважением, Smartov. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Религиозные войны | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |