IT в России и мире в реалиях мирового кризиса

1,401,176 8,469
 

Фильтр
Lapsha
 
Слушатель
Карма: -2.16
Регистрация: 10.01.2016
Сообщений: 356
Читатели: 0
Цитата: adolfus от 03.03.2016 00:35:59
Скрытый текст

Ну что может быть проще, понятнее и красивее?


switch-case-default
  • +0.04 / 3
  • АУ
adolfus
 
Слушатель
Карма: +18.97
Регистрация: 12.02.2010
Сообщений: 12,011
Читатели: 2
Цитата: slavae от 02.03.2016 20:30:48goto это костыль при программировании на языке высокого уровня. Всё.
Однажды использующий его теряет в голове схему переходов, и получается не программа, а каша.
Впрочем, настаивать не собираюсь. Я просто высказал своё отношение к таким специалистам.

goto это простое, лёгкое для понимания неправильное решение.

Логика программы описывается на языке блок схем и иного стандартами не предусмотрено. Откройте любой из стандартов, да хотя бы JPEG2000, и Вы в этом убедитесь. Блок схемы и только блок-схемы. Любая блок-схема может быть представлена в виде эквивалентного направленного графа. Но не любой граф может быть эффективно реализован в виде конструкций так называемого структурного программирования (ТНСП). Мостовой, например, не может.
Известно достаточно много алгоритмов, которые не могут быть эффективно представлены в конструкциях ТНСП. Классический пример -- конечный автомат. Этот алгоритм реализуется либо через сопрограммы, либо через жопу. В последнем случае нарушается логика алгоритма, о которой Вы так радеете.
Года три назад пришлось моделировать случайную сеть с нестационарной топологией. На старте она имеет дюжину полносвязных состояний, которые могут ветвиться, сливаться и вырождаться в зависимости от состояния соседей и своей собственной истории. Число состояний в процессе бывало что достигало 64 к. Сеть из случайных связей, вероятности реализации которых непрерывно изменяются. Команда из ВиллаРибы решила все это моделировать на С++, используя говнопотоки из последнего стандарта и разные модные штучки из буста, а команда ВиллаБаджио -- на С с агрессивным использованием goto, указателей и остальной некошерной у шиндузятников шняги. Через месяц ВиллаБаджио вовсю гоняла сеть на старом ноутбуке, набирая статистику для дисера, а ВиллаРиба все еще жевала сопли в отладчике, пытаясь разложить по сути почти везде мостовой граф на виртовские структуры.
  • +0.03 / 3
  • АУ
adolfus
 
Слушатель
Карма: +18.97
Регистрация: 12.02.2010
Сообщений: 12,011
Читатели: 2
Цитата: Alexxey от 02.03.2016 21:40:53Именно. А наоборот и вовсе невозможно.

траи -- кривая обертка для функций обратного вызова.
  • +0.00 / 0
  • АУ
Valery
 
russia
St.Petersburg
55 лет
Слушатель
Карма: +2.32
Регистрация: 01.11.2008
Сообщений: 332
Читатели: 0
Цитата: Lapsha от 03.03.2016 00:40:12switch-case-default

Далеко не всегда.
Предположим, что Вам нужно зарезервировать две-три области памяти из разных зон виртуальной памяти и контекст сетевого соединения. Можно по разному извратиться. Но желательно понимать, во что это превратит компилятор.
Неоднократно наблюдал результаты в IDA. Если человек не понимает, как будет работать его код, то и результаты соответствующие...
Java и С# хорошие примеры тех  языков, где люди ничего не понимают (скорее всего сознательно, для утилизации избыточной мощности вычислительной системы) как в том, как работает компьютер, варианты распределения памяти...
  • +0.02 / 1
  • АУ
adolfus
 
Слушатель
Карма: +18.97
Регистрация: 12.02.2010
Сообщений: 12,011
Читатели: 2
Цитата: Lapsha от 03.03.2016 00:40:12switch-case-default

1) switch-case-default -- это ветление на параллельные альтернативы, а тот код, что я привел -- решето исключений.
2) switch-case-default не может заменить решето из if() либо это будет выглядеть некрасиво. Честно говоря, смысла в свиче особого нет -- if-elseif-else его включают, а наоборот -- никак.
  • +0.01 / 1
  • АУ
Lapsha
 
Слушатель
Карма: -2.16
Регистрация: 10.01.2016
Сообщений: 356
Читатели: 0
Цитата: adolfus от 03.03.2016 02:04:351) switch-case-default -- это ветление на параллельные альтернативы, а тот код, что я привел -- решето исключений.
2) switch-case-default не может заменить решето из if() либо это будет выглядеть некрасиво. Честно говоря, смысла в свиче особого нет -- if-elseif-else его включают, а наоборот -- никак.

Частично (на 60%) согласен. Я невнимательно фтыкал в код. 

Switch часто лучше if-else if..., если условия есть однородный результат. Например, при перечислении условий для одного и того же исхода: case 1,2,3...
В данном конкретном случае это можно сделать так:

void fooblia() {
   int rc;
   switch( 0 !=(rc = call_1())
        || 0 != (rc = call_2())
        || 0 != (rc = call_M())) {
     case 0:
       rc = call_N();
   }
   check_rc(rc);
}

Но, действительно, лучше (именно здесь) через if:

void fooblia() {
   int rc;
   if( !(     0 !=(rc = call_1())
        || 0 != (rc = call_2())
        || 0 != (rc = call_M())  )  ) {
  
       rc = call_N();
   }
   check_rc(rc);
}
Отредактировано: Lapsha - 03 мар 2016 07:41:12
  • +0.01 / 1
  • АУ
Lapsha
 
Слушатель
Карма: -2.16
Регистрация: 10.01.2016
Сообщений: 356
Читатели: 0
Цитата: Valery от 03.03.2016 01:57:30Далеко не всегда.
Предположим, что Вам нужно зарезервировать две-три области памяти из разных зон виртуальной памяти и контекст сетевого соединения. Можно по разному извратиться. Но желательно понимать, во что это превратит компилятор.
Неоднократно наблюдал результаты в IDA. Если человек не понимает, как будет работать его код, то и результаты соответствующие...
Java и С# хорошие примеры тех  языков, где люди ничего не понимают (скорее всего сознательно, для утилизации избыточной мощности вычислительной системы) как в том, как работает компьютер, варианты распределения памяти...

К сожалению, ничего не понял.


Позабавил тезис о сознательной утилизации избыточной мощности вычислительной системы.
Воздержусь от обзываний и дразнилок. Но - большим напряжением воли.
  • +0.00 / 0
  • АУ
Superwad
 
belarus
Минск
51 год
Слушатель
Карма: +73.54
Регистрация: 27.02.2012
Сообщений: 2,641
Читатели: 0
Цитата: dc93 от 02.03.2016 20:27:18Ну это, с вероятностью 90%, "сдвигающий" кондюк сдох. Или болгарка от обычной сети нормально работала?

ЗЫ А может электроника на станции не 50HZ давала на выходе.

Это прикол только от электростанции, от розетки пашет как коньУлыбающийся Весь остальной инструмент с электронным пуском пашет без проблем.
  • +0.01 / 1
  • АУ
Superwad
 
belarus
Минск
51 год
Слушатель
Карма: +73.54
Регистрация: 27.02.2012
Сообщений: 2,641
Читатели: 0
Цитата: Демонический кот от 02.03.2016 16:42:36Бросьте.
Нормальный код на СИ так же закрывается скобкой на отдельной строке с табуляцией.
А если IDE какая стоит, то она Вам еще ветки циклов подсвечивать будет. Визуальное восприятие это уже из серии про фломмастеры.
Дело тут в том, что Си уже давно стал промышленным стандартом, его компиляторы отполированны до филигранности.
На нем пишутся и ОС и прошивки для микроконтроллеров.
А вот про Паскаль такого не скажешь, он как начинался в свое время учебным языком, так по большому счету дальше десктопных приложений и не вырос.

Отвечу по существу:
1.
{
}
или
Begin
End;
Визуально по разному воспринимаются - последнее - лучше. Это физиология человека - есть на чём зацепиться глазу человека. Все эти скобки - наследие старых компов, когда было ограничение на количество символов при написании программ. Сейчас это не актуально. Так что можно на это забить.
2. Грамотный программист оформит код как положено, а профи - с комментариями. Квалификацию программера никто не отменял.
3. По поводу промышленного стандарта на Си/Си++. В теории да, по факту - нет. я уже приводил пример, когда мне надо было драйвер, написанный на Си++ прикрутить под Лазарус (и это под Линуксом). Использовался для этого метод шалонов и перегрузки функции. Ага, затрахался я искать, почему из .so из библиотеки не могу вызвать нужный мне метод. Ковыряние МЕСЯЦ в интернете, показало, что сия хрень очень сильно зависит от конкретной реализации компилятора, а вы про стандарты Сумашедший . Кстати, пробовал на Лазаре, такого геморроя у него не было. Так что не все так однозначно.
  • +0.00 / 0
  • АУ
Lapsha
 
Слушатель
Карма: -2.16
Регистрация: 10.01.2016
Сообщений: 356
Читатели: 0
Цитата: Superwad от 03.03.2016 07:11:55Отвечу по существу:
1.
{
}
или
Begin
End;
Визуально по разному воспринимаются - последнее - лучше. Это физиология человека - есть на чём зацепиться глазу человека. Все эти скобки - наследие старых компов, когда было ограничение на количество символов при написании программ. Сейчас это не актуально. Так что можно на это забить.

Отнюдь!

Последнее - хуже. Намного хуже. Выглядит как Бейсик. Экономия символов тут ни причем. Для обозначения границ блоков совсем необязательно писать романы, достаточно специальных одиночных символов.

Цитата: Цитата Superwad от 02.03.2016 17:11:552. Грамотный программист оформит код как положено, а профи - с комментариями. Квалификацию программера никто не отменял.




В теории - да.

На практике - только если сильно на кодера насядут. Потому что у хорошо квалифицированного кодера практически не бывает времени на эпистолярные отвлечения. А когда время бывает он с гарантией займется чем-то более интересным.
Максимум - один-два коротких комментария на страницу. Максимум. А в среднем и того нет. 
Открытого кода в сети - моря разливанные. Любого уровня продуктов.

Цитата:  Цитата: Superwad от 02.03.2016 17:11:553. По поводу промышленного стандарта на Си/Си++. В теории да, по факту - нет. я уже приводил пример, когда мне надо было драйвер, написанный на Си++ прикрутить под Лазарус (и это под Линуксом). Использовался для этого метод шалонов и перегрузки функции. Ага, затрахался я искать, почему из .so из библиотеки не могу вызвать нужный мне метод. Ковыряние МЕСЯЦ в интернете, показало, что сия хрень очень сильно зависит от конкретной реализации компилятора, а вы про стандарты Сумашедший . Кстати, пробовал на Лазаре, такого геморроя у него не было. Так что не все так однозначно.




Именно по факту промышленный стандарт - Ассемблер (для очень низкоуровневых контроллеров), С/С++.

Никакой теории, это тупо то, что есть на самом деле.
Нескладухи с компилятором/совместимостью и т.п. к конкретному языку не относятся никак. 
Не стоило Вам мучиться, а надо сразу было ставить драйвер, написанный на Паскале.Улыбающийся
Вообще в бСССР до сих пор необъяснимо популярен этот Делфи, и до сих пор в вузах учат на этом Паскале. Что могу объяснить только засильем в вузах преподов еще с раньшего времени.
Отредактировано: Lapsha - 03 мар 2016 10:43:35
  • +0.01 / 1
  • АУ
Superwad
 
belarus
Минск
51 год
Слушатель
Карма: +73.54
Регистрация: 27.02.2012
Сообщений: 2,641
Читатели: 0
Цитата: adolfus от 03.03.2016 00:35:59Есть такой стиль программирования, когда возврат каждого вызова проверяется на ошибку. Если в функции таких последовательных вызовов дюжина, то ничего кроме goto не спасает, а все эти траи и вечные форы с бриками -- уебищные виртовские костыли. Вот например:

void fooblia() {
   int rc;
   if (0 !=(rc = call_1())) {
     goto quit;
   }
   if (0 != (rc = call_2())) {

     goto quit;
   }
   ...
   if (0 != (rc = call_M())) {

     goto quit;
   }
   rc = call_N();
quit:
   check_rc(rc); // вызов обработчика ошибок
   return;
}

Ну что может быть проще, понятнее и красивее?

Procedure Test;
Begin
// пишем нужную хрень
If Если надо срочно выйти> Then Exit;
// Дальше хрень
End;
  • +0.00 / 0
  • АУ
Superwad
 
belarus
Минск
51 год
Слушатель
Карма: +73.54
Регистрация: 27.02.2012
Сообщений: 2,641
Читатели: 0
Цитата: Lapsha от 03.03.2016 07:40:06Отнюдь!

Последнее - хуже. Намного хуже. Выглядит как Бейсик. Экономия символов тут ни причем. Для обозначения границ блоков совсем необязательно писать романы, достаточно специальных одиночных символов.





В теории - да.

На практике - только если сильно на кодера насядут. Потому что у хорошо квалифицированного кодера практически не бывает времени на эпистолярные отвлечения. А когда время бывает он с гарантией займется чем-то более интересным.
Максимум - один-два коротких комментария на страницу. Максимум. А в среднем и того нет. 
Открытого кода в сети - моря разливанные. Любого уровня продуктов.





Именно по факту промышленный стандарт - Ассемблер (для очень низкоуровневых контроллеров), С/С++.

Никакой теории, это тупо то, что есть на самом деле.
Нескладухи с компилятором/совместимостью и т.п. к конкретному языку не относятся никак. 
Не стоило Вам мучиться, а надо сразу было ставить драйвер, написанный на Паскале.Улыбающийся
Вообще в бСССР до сих пор необъяснимо популярен этот Делфи, и до сих пор в вузах учат на этом Паскале. Что могу объяснить только засильем в вузах преподов еще с раньшего времени.

 и чем плох Бейсик????
А вот великие спецы до сих пор не осилили F-35, а там, как утверждают злые языки, есть крутой Си.
Кстати, код для обслуживания денежных потоков пишут не на Си, а на более строгих языках, так как ошибки на ровно месте могут стоить очень дорого. Это для сведения.
ЗЫ. А вот критическое ПО для российских ракет пишется явно не на Си. Там все намного веселее.
А почему Паскаль на бСССР популярен??? Да потому, что позволяет писать вполне сносный грамотный код с МИНИМАЛЬНЫМИ затратами. Мы не такие богатые, как заграница, поэтому используем более качественный инструментарий.
Для понимания (это не мои исследования, это статистика), - имеем - набор кода (набивка текста) 17 %, отладка 70 %. Вот где хорошо документированный код, написанный на этапе набивки кода, экономит много времени на самом затратном этапе - отладки. Вот скобочки проигрываю, а Begin ... End выигрывают.
  • +0.02 / 3
  • АУ
Superwad
 
belarus
Минск
51 год
Слушатель
Карма: +73.54
Регистрация: 27.02.2012
Сообщений: 2,641
Читатели: 0
Цитата: LightElf от 03.03.2016 15:20:18Вы, в пылу религиозной борьбы, не заметили действий между меткой quit: и окончанием функции. Ваш код не эквивалентен исходному примеру.

1) Я не религиозный фанатик. Я фанат КАЧЕСТВЕННЫХ продуктов. И Си/Си++ и на их базе языки к ним не относятся. Ибо слишком геморройные. А результат на выходе - один. Так зачем пользоваться более геморным инструментом, если можно использовать более простым и качественным??? (Бритву Оккамы никто не отменялУлыбающийся ).
2) Я просто привел один из частных случаев использования кода. Я стараюсь задачу разбить на несколько подзадач (так называемый Unix Way принцип). Так что это вполне приемлемый вариант.
  • +0.00 / 0
  • АУ
Superwad
 
belarus
Минск
51 год
Слушатель
Карма: +73.54
Регистрация: 27.02.2012
Сообщений: 2,641
Читатели: 0
Цитата: LightElf от 03.03.2016 15:29:24Товарищ похоже поимел проблемы из-за name mangling. Что до драйверов на Паскале - примеры вполне есть. Но обычно это из перфекционизма делается, бо головной боли на всех этапах добавляет несказанно.
Дельфи популярен потому, что позволяет несложные задачи решать быстро. А детей в последнее время стали учить программированию на базе Java.

По большому счёту есть примеры использования для крупных серьезных проектов (где-то встречал, что его использует Газпром). А насчёт Явы. Посмотрим. Почитаю, если там Си-шный тип языка, то  = нафиг, нафиг. нафиг.
ЗЫ. Если бы я был хозяином на фирме, где для зарабатывания бабла надо было бы использовать свой софт, то Си и Со послал бы далеко в большой эротический тур, ибо деньги/время/затраты на первом месте. Си и Со могут позволить себе только очень богатые компании.
Отредактировано: Superwad - 03 мар 2016 19:10:26
  • +0.00 / 0
  • АУ
Superwad
 
belarus
Минск
51 год
Слушатель
Карма: +73.54
Регистрация: 27.02.2012
Сообщений: 2,641
Читатели: 0
Цитата: dc93 от 03.03.2016 10:03:56Тогда смотреть в сторону 50Hz, у меня других предложений нетУлыбающийся

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

1. Генератор качественный, вполне себе фирменный, производства Endress (завод Китай/Тайвань), шел для немецкого рынка (у меня надписи и инструкция на немецком языке шла). Генератор из строительной серии, синхронный, с увеличенным пусковым током.
Решил проблему - купил более дешевую болгарку, и то же с электронным пуском. Просто приехал со своим генератором и проверил на месте. Проблема только с этой болгаркой, которая к тому же из проф. серии. Подозреваю, что пусковой ток от болгарки был маловат для увеличения мощности под нагрузкой генератору. Одна электроника просто не смогла договориться с другой электроникой.
  • +0.00 / 0
  • АУ
Lapsha
 
Слушатель
Карма: -2.16
Регистрация: 10.01.2016
Сообщений: 356
Читатели: 0
Цитата: Superwad от 03.03.2016 15:47:221) Я не религиозный фанатик. Я фанат КАЧЕСТВЕННЫХ продуктов. И Си/Си++ и на их базе языки к ним не относятся. Ибо слишком геморройные. А результат на выходе - один. Так зачем пользоваться более геморным инструментом, если можно использовать более простым и качественным??? (Бритву Оккамы никто не отменялУлыбающийся ).


Именно религиозный фанатик.

Один сплошной негатив о по какой-то причине не нравящемся языке программирования. С приведением не доводов в виде фактов, а каких-то натужных фантазий.
Объясните тогда, зачем Вы пользуетесь продуктами, созданными на этом "геморном инструменте", такими как: операционной системой вместе со всеми драйверами и контроллерами, браузером, протоколом TCP/IP и его надстройкой HTTP. Все это Вы используете для засылки на этот форум сообщений.
Почему, согласно Вашим же словам, Вы не используете операционки, драйверы, браузеры, сетевые протоколы и т.п., созданные более простым и надежным инструментом - Паскалем?

Что касается качества продуктов, то компиляторы и сборщики С/С++ уж точно гораздо лучше вылизаны, чем паскалевские. По простой причине: С/С++ - основной промышленный язык разработок.

Вы там ранее недостижимо искрометно юморили по поводу софта для Ф-35. Так вот: армейцы в Штатх и НАТО пользуют язык Ада, а не С/С++.
  • +0.01 / 1
  • АУ
Lapsha
 
Слушатель
Карма: -2.16
Регистрация: 10.01.2016
Сообщений: 356
Читатели: 0
Цитата: Superwad от 03.03.2016 15:51:07По большому счёту есть примеры использования для крупных серьезных проектов (где-то встречал, что его использует Газпром).


Хотелось бы конкретных примеров, а не "где-то встречал". Газпром что - всемирно известный производитель софта?


Реальность-то такова, что Дельфи в 99% случаев используется для рисования морд к базам.


Цитата: ЦитатаЦитата: Superwad от 03.03.2016 01:51:07

А насчёт Явы. Посмотрим. Почитаю, если там Си-шный тип языка, то  = нафиг, нафиг. нафиг.


Можете не тратить время. Java пользует очень близкий к C++ синтаксис и лексику. По причине их удобства и эффективности.

Что такое "Си-шный тип языка", - без понятия. Кроме синтаксиса и лексики Java не имеет ничего общего с C/C++. Особенно что касается среды выполнения.

JavaScript тоже избегаете как черт ладана? Пользуете исключительно VBScript в HTML?Улыбающийся
Или HTML - тоже кака?


Цитата: ЦитатаЦитата: Superwad от 03.03.2016 01:51:07

ЗЫ. Если бы я был хозяином на фирме, где для зарабатывания бабла надо было бы использовать свой софт, то Си и Со послал бы далеко в большой эротический тур, ибо деньги/время/затраты на первом месте. Си и Со могут позволить себе только очень богатые компании.


С таким подростковым отношением к окружающей действительности непохоже, что Вы будете хозяином фирмы. Имеется в виду хозяином успешной фирмы, которая не вылетит в трубу в первый же кол времени.
Отредактировано: Lapsha - 03 мар 2016 22:15:48
  • +0.01 / 1
  • АУ
Jack Doe
 
Слушатель
Карма: +0.28
Регистрация: 16.04.2014
Сообщений: 20
Читатели: 0
Чистый Си сейчас используется в основном при написании прошивок для микроконтроллеров, разработки ядер ОС, СУБД, системного софта.
Писать на нем прикладные программы есть смысл только если нужна выдающаяся скорость работы, поскольку требуется программист высокой квалификации.

С++ - это переходной вариант. STL даёт коллекции Явы/С#, Qt - кросс-платформенные и простые в разработке окошки, ручное управление памятью и компиляция напрямую в машинные инструкции - достаточную скорость и гибкость. Ну и некоторые области не оставляют выбора, к примеру писать на чистом Си программу, взаимодействующую с OLE - очень сильный постмодернизьм, хотя и возможно.
Си и С++ фундаментально отличаются лишь более богатой семантикой последнего, но указатели и malloc никуда не делись, потому это все тот же Си со свистелками и перделками.

C#, Java - несмотря на синтаксическую схожесть с С++, имеют два фундаментальных отличия, переводящих их совсем в другой класс языков: автоматическое управление памятью, и компиляция в промежуточный байт-код. Первая особенность делает программы очень устойчивыми, не позволяет допускать большой и неприятный класс ошибок распределения памяти. Вторая особенность для программиста означает полную абстракцию от оборудования. Ну и ещё некую условную портабельность, хотя в реальности она не больше, чем портабельность кода на Си на разных компиляторах и окружения. Плюс богатейшие библиотеки классов из коробки - и готов кровавый Энтерпрайз.
Это очень хорошие языки, современные, мощные и удобные. На них можно писать даже некоторые системные вещи. Из недостатков - худшая скорость, необходимость тащить за собой runtime-окружение, но это все неважно для корпоративной разработки.

Дельфи делит нишу с С++. Ничего принципиально другого он не предоставляет - то же ручное управление памятью, прямая компиляция и адресная арифметика из-под полы. Я часто встречаю исходники на нем на форумах за 2000-2010 годы. Наверное где-то он ещё в ходу.

Дальше идёт, как ни странно, PHP. Несмотря на его одиозность, половина Интернета написана на нем. Все его сильные стороны являются также и слабыми, т.к. используются неправильно программистами квалификации чуть выше никакой: слабая (я бы сказал, нечёткая) типизация, автоматическая память и интерпретируемость. Рантайм-типы плюс eval потенциально создают ситуации, когда программист не в состоянии предсказать поведение программы.
 В итоге появляются такие монстры как Magento.
Ключевое достоинство/недостаток - очень низкий порог входа. Об этом чуть ниже.

JavaScript - его собрат с другой стороны http-сессии. Все то же, кроме отсутствия единого стандарта, как итог - библиотеки типа jquery для более-менее низкоуровневого письма, и в последние годы фреймворки а ля angular.js. Ключевое преимущество - отсутствие необходимости писать свой собственный клиент для клиент-серверного приложения. Можно взять броузер с js.

Дальше языки-выскочки.
Я не буду их называть, упомяну лишь ключевые особенности: появились в последнее десятилетие, очень бурно развиваются вплоть до несовместимости между версиями, вследствие этого не имеют устоявшейся runtime-среды, либо имеют существенные ограничения на её уровне; часть из них имеет функциональный уклон; на них довольно сложно найти разработчика (хотя теперь уже полегче), ну и обязывают быть юным, дерзким, на самокате и с бородой)
Ничего против них не имею, пусть цветут тысячи цветов, но на данный момент у них нет существенной ниши на рынке.

Скриптовые языки вроде Perl, узкоспециализированные языки вроде R рассматривать не буду. Они хоть и тюринг-полные, но для узких прикладных областей.

Теперь о том, как выбирается язык для задачи.
Во-первых, если твои подчиненные пишут на Х, скорей всего на нем будет написана и новая задача, т.к. брать кого-то в штат дорого, а осваивать новую компетенцию (не то же, что учить новый язык!) долго.
Во-вторых, если у тебя пока нет подчиненных, но есть эксперт, ты наберешь штат спецов, каких тебе скажет эксперт.
Если эксперта нет, ты наберешь спецов, которые дешевле и которые дадут продукт быстро. Это будет ява-сишарп для десктопа-энтерпрайза,или пэхапе для веба.
Ключевой для бизнеса критерий выбора - скорость разработки, порог входа (см.выше про пхп), доступность спецов на рынке. Последний критерий как бы не самый важный. Нужно, чтобы я без проблем мог заменить спеца, а не искать по олимпиадам чувака, знающего какую-нибудь scalу, потому что в наследство достался проект на ней.
Отредактировано: Jack Doe - 03 мар 2016 23:57:49
  • +0.08 / 7
  • АУ
TAU
 
Слушатель
Карма: +53.40
Регистрация: 24.07.2008
Сообщений: 4,227
Читатели: 0
Цитата: slavae от 01.03.2016 16:38:55Подозреваю, код пытается вымучить поколение программистов на Visual Studio, которым невдомёк, что такое jnz.

Ну, я не думаю, что правильно наших... партнеров представлять уж полными дебилами...
  • +0.00 / 0
  • АУ
TAU
 
Слушатель
Карма: +53.40
Регистрация: 24.07.2008
Сообщений: 4,227
Читатели: 0
Цитата: Superwad от 02.03.2016 15:32:33если программер высочайшего уровня, то не брезгует ставить комменты по ходу кода). Я так пишу свои программы

Увы! Приведенное в цитате - яркая иллюстрация уровня развития... Вот именно, что программер.
Нужно четко различать программеров  и  инженеров-программистов...
Отредактировано: TAU - 04 мар 2016 04:21:08
  • +0.00 / 0
  • АУ
Сейчас на ветке: 8, Модераторов: 0, Пользователей: 0, Гостей: 1, Ботов: 7