Форум программистов, компьютерный форум, киберфорум
Священные войны
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.73/15: Рейтинг темы: голосов - 15, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 10.01.2014
Сообщений: 22

Странная тяга к C++

27.10.2014, 10:28. Показов 3488. Ответов 58
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет.Я заканчиваю университет, моя специальность грубо говоря программист.Нравится язык C++, готов изучать его, даже книга есть, но слышал, что JAVA намного актуальнее сейчас и работу найти легче, и есть риск, что я потрачу год на изучение C++, а в итоге даже не смогу найти работу.А это все... крах. Возникает ряд вопросов:
1.Стоит ли углубляться в него, каковы шансы устроится после окончания учебы на работу программистом С++?
2.Если я начну серьезно изучать этот язык, то потом легко ли я смогу перейти на С#,JAVA,Objective C?
3.Не лучше ли вообще вдариться в 1С?(есть мысль в будущем открыть свой магазинчик, а там вроде без 1с никак)

Прошу, не судите строго
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.10.2014, 10:28
Ответы с готовыми решениями:

Игры и тяга к спорту
Появляется ли тяга к участию в реальных спортивных состязаниях после длительного пребывания в спортивной компьютерной игре ?

Что делать, если есть тяга к ассемблеру
Сразу оговорюсь, всё что у меня связано с программированием - это хобби. Хронология увлечений за 6 лет: VB -> Delphi -> PHP...

Странная(или не странная, незнаю) реакция на буквы, знаки операций
Всем добрый день. Делаю маленькую наработку, пока есть только начало. Ниже код: #include <iostream> #include...

58
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6725 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
30.12.2014, 00:50
Студворк — интернет-сервис помощи студентам
Какие-то странные у вас понятия вообще. Явное приведение типов - это что-то такое сферическое, где программист должен еще определить, потеряет он что-то или нет. Один-два-десять человек - вовсе не показатель того, что инструмент используют.. Странная логика
Цитата Сообщение от Xelort Посмотреть сообщение
во втором случае не нужно делать явного преобразования ибо нет смысла
Да плевать, нужно там делать или нет. Смысл был в различиях понятий, а не в самом коде.
Любишь придираться к коду и словам - так сначала за своим посмотри. На тебе твой дабл. Только толку с него.
C++
1
2
3
4
5
6
7
#include <iostream>
 
int main(int argc, char *argv[])
{
    std::cout << (double) (5 / 2) << std::endl;
    std::cout <<          (5 / 2) << std::endl;
}
Сравни с выражением "(5 / 2.)", к примеру.
0
 Аватар для castorsky
1978 / 1082 / 87
Регистрация: 29.11.2013
Сообщений: 3,353
30.12.2014, 00:57
Цитата Сообщение от Xelort Посмотреть сообщение
заодно и explicit выучи.
Круть! А еще крутые слова знаешь?
0
Заблокирован
30.12.2014, 01:02
C++
1
std::cout << (double)5 / 2 << std::endl;
если быть точным.
Цитата Сообщение от KOPOJI Посмотреть сообщение
Какие-то странные у вас понятия вообще. Явное приведение типов - это что-то такое сферическое, где программист должен еще определить, потеряет он что-то или нет. Один-два-десять человек - вовсе не показатель того, что инструмент используют.. Странная логика
Вы путаете ошибки программиста с намеренными привидениями (неявными или явными ) то что сделано умышленно зная, что никакой потери информации в данном случае не будет.
0
 Аватар для castorsky
1978 / 1082 / 87
Регистрация: 29.11.2013
Сообщений: 3,353
30.12.2014, 01:03
Цитата Сообщение от Xelort Посмотреть сообщение
Вы путаете ошибки программиста с намеренными привидениями (неявными или явными )
с призраками что ли? Веселый ты
0
 Аватар для Voivoid
710 / 283 / 16
Регистрация: 31.03.2013
Сообщений: 1,340
30.12.2014, 10:01
Цитата Сообщение от castorsky Посмотреть сообщение
это что такое? Критерий оценки я имею ввиду.
Слаботипизированный язык допускает множество разного рода ( в том числе и небезопасных ) неявных преобразований типов

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

Цитата Сообщение от Xelort Посмотреть сообщение
Но как если С проще чем С++.
Простота языка далеко не всегда коррелирует с простотой разработки приложений на нем. А вообще я не очень понимаю что ты там хочешь вообще сказать-то

Цитата Сообщение от Xelort Посмотреть сообщение
Васину библиотеку с города Засранска
Valgrind-то? Хм, ну ок

Цитата Сообщение от Xelort Посмотреть сообщение
Вы путаете ошибки программиста с намеренными привидениями (неявными или явными )
Язык провоцирует делать то тут, то там ошибки из-за неявных преобразований? Значит плохой программист виноват. Хороший же программист никогда не делает ошибок, лол . Да и вообще наверное хорошему программисту система типов не нужна, зачем, он и так справится. Держит все в голове и даже перерефакторив половину кода у него нигде ничего не отвалится
0
Заблокирован
30.12.2014, 13:25
Цитата Сообщение от Voivoid Посмотреть сообщение
Слаботипизированный язык допускает множество разного рода ( в том числе и небезопасных ) неявных преобразований типов
после строк, когда ты сказал что С слаботипизированный язык, можешь больше ниче не писать.
Цитата Сообщение от Voivoid Посмотреть сообщение
Лол, если для программиста сложно разобраться в основных правилах языка - то грош ему цена. Если ему это уже тяжело, что уж там говорить о знании предметной области
Снова троллинг, там далеко все не просто , и даже хитро сделано. Почему так? А потому что для дурака и сам язык фигня, и он прост до безумия, а для умного он глубок и сложен. Впринципе ожидаемый результат, только зависть.
Цитата Сообщение от Voivoid Посмотреть сообщение
Valgrind-то? Хм, ну ок
Это меняет все для отрасли. Именно эта библиотека изменяет положение всех дел, кто не пользуется тот ушел от стандарта и пишет на другом языке. Еще один перл глупости. Говорю последний раз - всякие библиотеки Васи Пети Вани не меняют общее положение всех дел и стандарта языка со всеми его наворотами и глупостями.
Цитата Сообщение от Voivoid Посмотреть сообщение
Язык провоцирует делать то тут, то там ошибки из-за неявных преобразований? Значит плохой программист виноват. Хороший же программист никогда не делает ошибок, лол . Да и вообще наверное хорошему программисту система типов не нужна, зачем, он и так справится. Держит все в голове и даже перерефакторив половину кода у него нигде ничего не отвалится
вообще не понял о чем речь.
Язык С++ тем и "хорош" что не следит ни за чем, а все перекладывает на программиста, который всегда ошибается рано или поздно, - единственное, что reinterpret_cast создан максимально длинным словом, чтобы было заметно программисту, при приведениях о возможных последствиях.

Нашел еще интересную статью автора, правда я бы выразился пожестче чем он:
{ссылка удалена}
Для тех кто не умеет переходить по ссылкам, цитата:
Я не являюсь большим поклонником .NET и специалистом по данной технологии, поскольку последние несколько лет пишу большей частью на Python'е, но в данном случае заступлюсь за C#. Впрочем это касается не только C#, а любого современного языка высокого уровня (C++ уж извините, но таковым не является).

1. На практике, процент задач требующих жуткой оптимизации по скорости выполнения очень мал. Вообще скорость выполнения большинства задач не является критическим фактором. В самом деле, конечному юзеру глубоко наплевать на то, выполняется задача за 0,1 секунды или за 0,01 секунды. Кроме того большая часть программистов врядли способна соревноваться в написании оптимального кода с современными компиляторами. Поверте, написать медленный код на Ассемблере намного легче чем на C# или даже Python.
2. Зато есть другой важный фактор - скорость разработки. Сегодняшний рынок IT (не только разработки игр, а вообще) очень динамичен и если вы потратите лишнее время на разработку, то пропустите вперед конкурента, и как итог - потеряете деньги. Конечно же скорость разработки на C# будет в несколько раз выше чем на C++ и просто глупо этим не пользоваться. Причем скорость в том числе обеспечивается и меньшими затратами на отладку, поскольку допустить ошибку в коде на C++ несоизмеримо проще, а найти сложнее. Кроме того, программирование на относительно низкоуровневых языках, как тот же C++, порождает проблему преждевременной оптимизации. В свое время еще Дональд Кнут писал, что преждевременная оптимизация - зло. Вместо того чтобы сосредоточиться на задаче и решать ее, программист занимается оптимизацией какого-то блока программы не влияющего напрямую на решение задачи. В итоге разработка затягивается, а на выходе мы не получаем не то, что быстрого кода, а даже и хоть как-то работающего.
3. .NET так же как и Java, и некоторые другие подобные платформы поддерживает JIT. Т.е. при первом запуске ваш код автоматически компилируется в машинный код конкретной платформы, и при следующих запусках будет уже запускаться он. В такой ситуации разница в скорости между программой написанной на C++ и программой на C# может быть вообще мизерной. Что касается разнообразных тестов, то их можно накопать сколько угодно с разных сторон, но они все синтетические, в реальной жизни задачи более разнообразны.
4. Ручное управление памяти в C++ чем многие так гордятся, на практике порождает только проблемы, поскольку вместо решение конкретной задачи программист занимается борьбой с компилятором и устранением утечек памяти. Современные языки со сборщиком мусора этой проблемы не имеют, поскольку умеют освобождать память автоматически.
5. Тот же .NET вполне себе позволяет при желании использовать библиотеки написанные на обычном C++, поэтому если уж так нужно что-то оптимизировать, то флаг в руки.
6. Большая проблема .NET - отсутствие полноценной кросплатформенности. Впрочем, есть Mono, так, что сейчас на C# можно вполне нормально писать и под Linux.

Все это не означает, что C++ плох. Нет. У него все еще есть своя ниша которую он успешно занимает. Но извините меня, каждый инструмент хорош к месту. А C++ и C#, как и другие языки - это всего лишь инструменты, и ничего более. Именно по этому часто просто глупо стараться использовать для всего проекта один и тот же язык. Пишите на том, что повысокоуровней и попроще. Проверяете, тестируете, вылавливаете медленные места. Если скорость где-то вас не устраивает, то локализуете такие места и выносите их во внешние библиотеки которые можно написать на том же C++, а может и чистого C хватит. Во всех остальных случаях, применение низкоуровневых инструментов - это трата пустая времени.

Не знаю почему, но иногда многие преподносят C++ как супернавороченный язык со сверхвозможностями, почти как панацею от всего. Извините, но выглядит со стороны это не более чем желание показать у кого длиннее. Тем более, что многие C++ программисты свой язык понимают откровенно слабо. У некоторых наступает просто разрыв шаблона когда они узнают, что в C++ записи a[10] и 10[a] являются полностью эквивалентными. Некоторых воспитанных на современных IDE (как тот же VS например) ставят в тупик вопросы по написанию make-файлов. А все это вещи которые дают понимание языка. Если вы считаете, что знать C++ это круто, то это нифига не так. C++ это давно уже обычно, привычно и банально. Если же считать показателем крутости сложность языка для среднестатистического программиста, то любой программист на Lisp, Erlang или Haskell должен по идее смотреть на C++ программистов как на говно.

Хотите что-то выбрать? Бросьте монетку, что выпадет то и учите. И то и другое для выбранных задач подходит.
И да, кроме троллинга я не услышал не одного конструктивного ответа за все время общения, по сему прихожу к выводу , что их просто нет, а также посмотрел на низкий уровень знаний своего языка программистами С++, или тех которые себя такими решили назвать.
Поэтому разговор исчерпан, кроме ответов "сам дурак" уверен больше ничего не будет, а значит нет смысла, что то объяснять.
0
 Аватар для castorsky
1978 / 1082 / 87
Регистрация: 29.11.2013
Сообщений: 3,353
30.12.2014, 16:42
Цитата Сообщение от Voivoid Посмотреть сообщение
Слаботипизированный язык допускает множество разного рода ( в том числе и небезопасных ) неявных преобразований типов
Я понял о чем Вы, просто говоря "weak" typing или "strong" typing термины обычно берут в кавычки, т.к. нет их ясного (читай однозначного) определения. Типизацию языка си я бы отнес к его сильной стороне, а Вы утверждаете что это его слабость. Можем сравнить развинтие паскаля и си (они по существу они отличаются только "строгостью" типизации), где первый, а где второй.

Добавлено через 7 минут
Цитата Сообщение от Xelort Посмотреть сообщение
любой программист на Lisp, Erlang или Haskell должен по идее смотреть на C++ программистов как на говно
Правда жизни
0
 Аватар для Voivoid
710 / 283 / 16
Регистрация: 31.03.2013
Сообщений: 1,340
30.12.2014, 17:06
Прости их Господи, ибо не ведают, что говорят
Здесь уже ничем не помочь. Господь, жги
0
 Аватар для nullxdth
2305 / 1064 / 77
Регистрация: 12.03.2013
Сообщений: 4,987
31.12.2014, 03:55
Цитата Сообщение от Xelort Посмотреть сообщение
то любой программист на Lisp, Erlang или Haskell должен по идее смотреть на C++ программистов как на говно.
Не только должен, но и смотрит

Добавлено через 12 минут
Цитата Сообщение от Voivoid Посмотреть сообщение
позволяет строить абстракции любого уровня и что самое главное за эти абстракции не приходится платить производительностью
Старая байка от Страуструпа. За выразительность всегда приходится платить производительностью и наоборот. И C++ не является золотой серединой уж точно. Явный перекос в сторону производительности.
В качестве примера - необходимость понимания низкоуровневого ручного управления памятью, как минимум, для грамотного использования smartpointer-ов.

Добавлено через 4 минуты
Цитата Сообщение от Voivoid Посмотреть сообщение
Но язык с тех пор ушел далеко вперед
Лямбды и частичный автовывод это нифига не далеко вперед. Вот когда compile time reflection заспецифицирют и проимплементят во всех компиляторах которые в ходу, тогда можно начать о чём-то говорит с крестьянами.

Добавлено через 7 минут
Цитата Сообщение от Voivoid Посмотреть сообщение
использование возможностей языка C ведет к написанию крайне небезопасного кода ( в виду практически полного отсутствия каких-либо средств позволяющих строить высокоуровневые абстракции над низкоуровневыми деталями да и еще плюс слабая типизации языка )
Невыразительность языка не является причиной небезопасности, на самом деле. А вот слабая типизация - да, бесспорно.

Добавлено через 2 минуты
Цитата Сообщение от Xelort Посмотреть сообщение
С никогда не был слаботипизируемым
Всегда был и будет слаботипизированнным. Ну и вообще слабым и, скажем так, немощным

Добавлено через 12 минут
Цитата Сообщение от Voivoid Посмотреть сообщение
Язык провоцирует делать то тут, то там ошибки из-за неявных преобразований?
Ты прям как о C++. Тот тут не объявил деструктор виртуальным - ресурсы утекли, то там не предусмотрел и new бросил exception - память утелка. Сплошные мины из говна и боли.
0
 Аватар для castorsky
1978 / 1082 / 87
Регистрация: 29.11.2013
Сообщений: 3,353
31.12.2014, 04:10
Цитата Сообщение от nullxdth Посмотреть сообщение
Лямбды и частичный автовывод это нифига не далеко вперед. Вот когда compile time reflection заспецифицирют и проимплементят во всех компиляторах которые в ходу, тогда можно начать о чём-то говорит с крестьянами.
это нок даун. Я бы еще посмотрел на этого крестьянина когда он будет развязывать forward declarations, которые такие же написали ранее.
Цитата Сообщение от nullxdth Посмотреть сообщение
Невыразительность языка не является причиной небезопасности, на самом деле. А вот слабая типизация - да, бесспорно.
Ерунда. Введите в си строгую типизацию и системщики Вас застрелят.
0
Игогошка!
 Аватар для ct0r
1801 / 708 / 44
Регистрация: 19.08.2012
Сообщений: 1,367
31.12.2014, 10:24
Профессионализм разработчика слабо зависит от того языка, на котором он в основном пишет. Зато по выражениям в постах некоторых участников форума, можно сделать вывод, что они как люди - говно.
0
 Аватар для Voivoid
710 / 283 / 16
Регистрация: 31.03.2013
Сообщений: 1,340
31.12.2014, 12:03
Цитата Сообщение от nullxdth Посмотреть сообщение
Старая байка от Страуструпа. За выразительность всегда приходится платить производительностью и наоборот.
Фигасе байка. Я все это говорю на основании своего опыта. И хоть и иногда платить действительно приходится, но лишь необходимый минимум. А часто так и вообще все дается бесплатно.

Цитата Сообщение от nullxdth Посмотреть сообщение
В качестве примера - необходимость понимания низкоуровневого ручного управления памятью, как минимум, для грамотного использования smartpointer-ов.
Че ты там понимать собрался-то? Ничего там понимать не надо. Выбираешь смартпоинтер в зависимости от семантики владения. Вот и все дела.

Цитата Сообщение от nullxdth Посмотреть сообщение
Лямбды и частичный автовывод это нифига не далеко вперед. Вот когда compile time reflection заспецифицирют и проимплементят во всех компиляторах которые в ходу, тогда можно начать о чём-то говорит с крестьянами.
Ну во-первых кроме лямбд и автовывода еще куча всего полезного появилось, что реально облегчает написание кода. А во-вторых Compiler time рефлексия скоро ( ориентировочно году так в 17 ) будет. Она уже кстати в какой-то степени есть, можно довольно подробную информацию о любом типе получить в compile-time. Единственное пока конечно нет главного, нет возможности получить список членов класса, список функций-членов класса и списка базовых классов.

Цитата Сообщение от nullxdth Посмотреть сообщение
Невыразительность языка не является причиной небезопасности, на самом деле. А вот слабая типизация - да, бесспорно.
Воу-воу, когда у тебя из средств языка есть только циклики и указатели, то написание даже самого простого кода становится сродни хождению по минному полю. Что уж там говорить о чем-то хоть немного более сложном. Ад и Израиль.

Цитата Сообщение от nullxdth Посмотреть сообщение
Тот тут не объявил деструктор виртуальным - ресурсы утекли, то там не предусмотрел и new бросил exception - память утелка. Сплошные мины из говна и боли.
Это вообще не проблема. Такие вещи давно решаются разными способами без каких-либо усилий.

Цитата Сообщение от castorsky Посмотреть сообщение
системщики
Давно пора их уже самих на свалку истории выкинуть. Большая часть проблем современного софта из-за таких вот байтослесарей

Добавлено через 27 минут
К примеру вот этот плюсовый код:
C++
1
2
3
    vector<int> v( 65536 );
    iota( v, 0 );
    int sum = accumulate( v | transformed( arg1 * 2 ), 0 );
по производительности абсолютно равен аналогичном сишному коду:
C
1
2
3
4
5
6
7
8
9
10
11
    const int s = 65536;
    int* n = new int[ s ];
    for( int i =0 ; i < s; ++i ) {
        *n = i;
    }
 
    sum = 0;
    for( int i = 0; i < s; ++i ) {
        sum += n[ i ] * 2;
    }
    delete[] n;
0
 Аватар для nullxdth
2305 / 1064 / 77
Регистрация: 12.03.2013
Сообщений: 4,987
31.12.2014, 14:21
Цитата Сообщение от Voivoid Посмотреть сообщение
Выбираешь смартпоинтер в зависимости от семантики владения.
Ключевое слово "семантика владения". Когда есть GC об этом заботиться не надо.

Добавлено через 22 секунды
Цитата Сообщение от Voivoid Посмотреть сообщение
Ну во-первых кроме лямбд и автовывода еще куча всего полезного появилось, что реально облегчает написание кода.
Например?

Добавлено через 45 секунд
Цитата Сообщение от Voivoid Посмотреть сообщение
А во-вторых Compiler time рефлексия скоро ( ориентировочно году так в 17 ) будет.
Ага. Очень скоро. И это только стандарт. + надо дождаться когда везде проимплементят.

Добавлено через 2 минуты
Цитата Сообщение от Voivoid Посмотреть сообщение
Воу-воу, когда у тебя из средств языка есть только циклики и указатели, то написание даже самого простого кода становится сродни хождению по минному полю.
Ну это только в том случае, когда ты примитивными средствами хочешь получить более или менее универсальный инструмент (как Си). Но вот если рассматривать DSL-ли, то как раз получается наоборот - набор операций мал, семантика понятна и проста и всё безопасно.

Добавлено через 1 минуту
Цитата Сообщение от Voivoid Посмотреть сообщение
Такие вещи давно решаются разными способами без каких-либо усилий.
Только в том случае, когда ты наступил на эти грабли и изучил способы решения. Это мины. Нужно предпринимать усилия что бы не подорваться.

Добавлено через 1 минуту
Цитата Сообщение от ct0r Посмотреть сообщение
Профессионализм разработчика слабо зависит от того языка, на котором он в основном пишет.
Старый миф. Язык формирует культуру. Это самоочевидно и не требует никаких исследований.
0
1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
31.12.2014, 15:15
Цитата Сообщение от Voivoid Посмотреть сообщение
Ну во-первых кроме лямбд и автовывода еще куча всего полезного появилось, что реально облегчает написание кода
т.е. за 30 лет существавания сыпипи наконец-то освоил малую часть технологий 40-калетней давности? похвально. перспективный язык без сомнения.
когда у тебя из средств языка есть только циклики и указатели, то написание даже самого простого кода становится сродни хождению по минному полю
а вот когда такой гадости как "циклики и указатели" нет, то написание даже сложного кода становится плевым делом.
Такие вещи давно решаются разными способами без каких-либо усилий.
выкидыванием с++ на свалку истории. логично. многие это давно сделали.
0
 Аватар для castorsky
1978 / 1082 / 87
Регистрация: 29.11.2013
Сообщений: 3,353
02.01.2015, 23:57
Цитата Сообщение от Voivoid Посмотреть сообщение
К примеру вот этот плюсовый код:
C++
1
2
3
vector<int> v( 65536 );
iota( v, 0 );
int sum = accumulate( v | transformed( arg1 * 2 ), 0 );
по производительности абсолютно равен аналогичном сишному коду:
C
1
2
3
4
5
6
7
8
9
10
11
12
const int s = 65536;
int* n = new int[ s ]; /* ЛОЛ. Вы хотите этим рассмешить людей? Получилось :)*/
 
  for( int i =0 ; i < s; ++i ) {
  *n = i;
}
 
sum = 0;
for( int i = 0; i < s; ++i ) {
  sum += n[ i ] * 2;
}
delete[] n;
К примеру вот этот скальный код (синтаксис оставил специально жабкин, чтобы не вгонять в ступор плюсистов)
Java
1
0.to(65536).map(2 * BigInt(_)).sum
или такой
Java
1
BigInt(0).to(65536).fold(BigInt(0))(_ + _) * 2
пишется в 2 раза быстрее, а средний проект в разы быстрее. Так же как Вы говорите о "байтослесарях" о Вас можно сказать как "микросекундослесарь". Кстати говоря 0 (1, 2, и т.д.) это полноправные объекты. Ничего не напоминает?
0
 Аватар для Voivoid
710 / 283 / 16
Регистрация: 31.03.2013
Сообщений: 1,340
03.01.2015, 11:13
Цитата Сообщение от castorsky Посмотреть сообщение
К примеру вот этот скальный код ... пишется в 2 раза быстрее, а средний проект в разы быстрее
Ну, т.е. чем меньше символов надо на клавиатуре напечатать, то тем быстрее будет идти разработка что-ли? Мысль космического масштаба и космической же глупости, лол. Ну на haskell еще меньше будет: sum.map(*2) $ [1..65536]. А какой-нибудь APL или J так вообще впереди планеты всей будет. Еще забавнее звучит заявление про среднее время разработки на scala. Без комментариев.

Для особо одаренных: мой простенький пример кода показывает, что абстракции высоких уровней ( а как следствие декларативность ) в C++ минимально сказывается на производительности. И да, для кого-то может оказаться невероятным, но существуют проекты, где производительность имеет значение. И scala там не прокатит, а C++ прокатит и выглядеть код будет не сильно хуже.
0
 Аватар для castorsky
1978 / 1082 / 87
Регистрация: 29.11.2013
Сообщений: 3,353
03.01.2015, 18:34
Цитата Сообщение от Voivoid Посмотреть сообщение
Ну, т.е. чем меньше символов надо на клавиатуре напечатать, то тем быстрее будет идти разработка что-ли?
Не понимаю на чем основан этот вывод. Скорость разработки зависит от архитектурных решений и выбора языка (по умолчанию считаем что специалисты имеют скилы). Я же Вам показал как выглядит нормальная организация абстракции в языке. Для сравнения с тем месивом, которое предоставили Вы. А когда язык предоставляет нам удобный уровень абстракций, то разработка существенно облегчается что неизбежно ведет к ускорению процесса разработки (если не считать ВНЕЗАПНЫЕ изменения требований).
Цитата Сообщение от Voivoid Посмотреть сообщение
Мысль космического масштаба и космической же глупости, лол.
Я понимаю. Вам тяжело осмыслить себя Шариковым. Можете себя утешить тем что Вы уже заведующий подотделом очистки города Москвы от бродячих животных (котов и прочих) в отделе МКХ владете c++ (и только?).
Цитата Сообщение от Voivoid Посмотреть сообщение
Для особо одаренных: мой простенький пример кода показывает, что абстракции высоких уровней ( а как следствие декларативность ) в C++ минимально сказывается на производительности.
Абстракции высоких уровней? Что Вы знаете об абстракциях высоких уровней? Вы же плюсист.
C++
1
auto foo (auto var) {...}
практически полностью нивелирует шаблоны как сущности.
Цитата Сообщение от Voivoid Посмотреть сообщение
И да, для кого-то может оказаться невероятным, но существуют проекты, где производительность имеет значение. И scala там не прокатит, а C++ прокатит и выглядеть код будет не сильно хуже.
примеры.

Не по теме:

Scala для меня не идеал, я бы мог ту же мысль выразить на любом другом языке. А вот Ваши прмеры невольно заставляют предположить что Ваша родина - Индия.

0
 Аватар для Voivoid
710 / 283 / 16
Регистрация: 31.03.2013
Сообщений: 1,340
03.01.2015, 20:01
Цитата Сообщение от castorsky Посмотреть сообщение
Я же Вам показал как выглядит нормальная организация абстракции в языке. Для сравнения с тем месивом, которое предоставили Вы
Лолшто?

C++
1
2
3
list.map(2 * BigInt(_)).sum
accumulate( list | transformed( arg1 * 2 ), 0 );
sum.map(*2) $ list
все эти куски кода суть одно и тоже, только разный синтаксис. Да, вариант на C++ выглядит чуть менее лаконичным ( кстати не в последнюю очередь из-за длинных названий функций ), но на этом разница заканчивается. Подобные претензии похожи больше похоже на бугурт школьников-сишников на pascal из-за того, что там лексические области видимости обозначаются не фигурными скобками, а словами begin/end. Как я уже говорил, если хочется максимум производительности, придется мириться с тем, что синтаксис c++ не идеален.

И кстати, лол, я еще понимаю ты бы haskell в пример привел, там-то хоть, в отличии от scala, есть полноценная ленивость, вывод типов Хиндли-Милнера, каррирование.

Цитата Сообщение от castorsky Посмотреть сообщение
владете c++ (и только?).
Нет, не только

Цитата Сообщение от castorsky Посмотреть сообщение
Абстракции высоких уровней? Что Вы знаете об абстракциях высоких уровней? Вы же плюсист.
М-м-м, весомый аргумент

Цитата Сообщение от castorsky Посмотреть сообщение
практически полностью нивелирует шаблоны как сущности.
Лолшто?

Цитата Сообщение от castorsky Посмотреть сообщение
примеры.
А что, такая проблема представить? Ну вот MS Office например
0
 Аватар для castorsky
1978 / 1082 / 87
Регистрация: 29.11.2013
Сообщений: 3,353
03.01.2015, 22:37
Цитата Сообщение от Voivoid Посмотреть сообщение
придется мириться с тем, что синтаксис c++ не идеален
Миримся, но это не мешает смотреть на плюсистов как на говно
Цитата Сообщение от Voivoid Посмотреть сообщение
я еще понимаю ты бы haskell в пример привел, там-то хоть, в отличии от scala
Специально для тех кто в танке.
Цитата Сообщение от castorsky Посмотреть сообщение
Scala для меня не идеал, я бы мог ту же мысль выразить на любом другом языке.
-
Цитата Сообщение от Voivoid Посмотреть сообщение
есть полноценная ленивость, вывод типов Хиндли-Милнера, каррирование
strict vs lazy такая же бессмысленная война как windows vs linux, вывод типов по алгоритму ХМ? - а он уже пригоден для ОО языков? Вы становитесь похожим на Xelort'a, карринг? - строго говоря тоже нету (есть костыль). А еще apply - геттер. Дальше что?
Цитата Сообщение от Voivoid Посмотреть сообщение
Лолшто?
лолто.
Цитата Сообщение от Voivoid Посмотреть сообщение
А что, такая проблема представить? Ну вот MS Office например
так msvs развивается вместе с c++ на протяжении почти 20 лет. На чем еще мог быть написан ms word в 90х годах? Корпоративная политка. Со скрипом переползают на дотнет же.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
03.01.2015, 22:37

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

Странная кодировка, ну ооочень странная
Всем доброго времени суток! Помогите пожалуйста решить проблему! Вот исходный код проекта: index.php &lt;?php ...

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

Странная папка на C
Появилась папка C:\aYDsa1MPe00B18J\ в ней файл klplst.dat. Удаляется легко, но появляется снова при запуске любого приложения или открытии...

странная выдача
подскажите, почему в подмосковье по моему ВЧ яша выдает 9 место, а с московского IP 4-е


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
59
Ответ Создать тему
Новые блоги и статьи
Жара жесть.
kumehtar 18.08.2026
Пролетают летом дни Тридцать пять жары в тени. Каждый август год от года Дарит жаркую погоду.
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
Лето уходит
kumehtar 17.08.2026
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины". За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html Задача: . . .
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru