Pull to refresh
2
0

User

Send message
Я так понимаю, в примерах printf никакого отношения к обсуждаемой проблеме не имеет и используется только вывода результата. Использование стримов — это конечно хорошо, но неужели это тут так принципиально?
Будет здорово, если вы и дальше будете мониторить ситуацию с этим законопроектом и будете держать общественность в курсе. Тем более, судя по профилю, вы в закон тот ещё Копенгаген :)

Хочется надеяться, что в итоге нахлебничества станет немного меньше.
Ну это потому что доклады про «мясо», а не про всякие тулы, когда доклады типа «как правильно готовить такую и такую тулу, и какие дженерики с аннотациями применять в новой версии нашей-супер-тулы новой версии, чтобы ваши волосы были...». Это тоже конечно нужно, но многие (если не большинство) из таких конференций превратились в какую-то либо маркетинговую площадку, либо в набор докладов-котов-в-мешке, где всё зависит от докладчика (про тул и свой опыт ещё уметь рассказать нужно), вот и получается — тратишь ресурсы из времени и денег, а получается унести пару заинтересовавших фраз и футболку в лучшем случае. При таких же темах и докладчиках даже подарочная футболка не нужна, чтобы обратить на себя внимание! :)
После обзора представленных докладов и докладчиков сразу мысль: «Первая за дооооооолгое время конференция, на которую я вдруг захотел попасть!» Захотел бы побывать почти на каждом докладе… Блин, давно такого не было.
вангую набег Andrey2008 c PVS-Studio или CppCat :)
Ой, ну пожалуйста, ну используете C или C++, ну нужны типы с фиксированной длинной, ну уже всё сделано за вас (http://en.cppreference.com/w/c/types/integer или en.cppreference.com/w/cpp/types/integer)… Ну или если это Windows-only, так там тоже уже всё есть… Ну не нужно typedef-ить всё подряд.

P.S. Просто наболело уже: сейчас правлю проект мультиплатформенный (требование, заложенное изначально), так в нём чувак напереопределял всяких #define WORD и #define DWORD и кучу ещё всяких костылей через #define и typedef, чтобы как в Windows, наверное потому что в Linux этих типов нет…
а я и не про ваши кости…

А если серьёзно, я просто очень сильно интересуюсь IT, у меня есть определённое представлени и критическое отношение к тому, что я знаю, поэтому я всегда готов узнать что-то новое или изменить в своём понимании что-то старое. Да, с моей точки зрения Delphi постепенно должен уйти на антесоли истории, потому что это просто ещё одна сущность, которая не даёт преимуществ, а только вносит сумятицу и без того огромный стек технологий. Но это я так считаю и нашёл для себя вполне нормальные обоснования этому.

Но может я неправ? И я прихожу в блог Delphi, где надеюсь встретить профессионалов, которые мне объяснят, в чём я неправ. Но всё развивается всегда по одному и тому же сценарию (лучший сценарий): я спрашиваю, мне отвечают, я уточняю, мне отвечают, я уточняю моменты, в которых я вижу проблему в надежде, что я просто что-то не знаю или не понимаю, человек видно не может ничего ответить по существу и максисмум что делает — отвечает пространными фразами (ну типа «это решаемо», «язык обладает полнотой по Тьюрингу» и пр. теоретические выкладки), кидается приколами типа «забанили в Google» и пр. Результат: ответа на вопрос я не получил, меня объявили тролем :)

Это что касается общего…

В данном случае не так. Статья просто кишит маркетинговым посылом какая Delphi классная и смотрите какой проект на ней можно забабахать. При этом это не преимущества Delphi, это просто ещё один проект, который мог быть сделан на чём угодно. Я просто компенсировал тяжесть маркетингового вброса, приведя примеры других проектов, «случайно» написав, что язык скорее мёртв, чем жив.

А делфисты возбудились не на то, что есть другие более масштабные продукты (ну а как же критическое мышление? не, не слышали?), а то что я (акстись!) опять похоронил любимый генератор началов и концов.

И да, я не могу считать живым язык, на котором пишут скорее по привычке и инерции, на котором не было ни одного нового большого проекта за последние 5-6 лет (при том, что в IT 2 года — считай новая эра) и который подходит разве что для поддержания накопленного говнокода.

Готов изменить своё мнение, но пока фактов и аргументов нет, кроме как доставания с антресолей проектов в лучшем случае из первой половины 2000-х с криками: «Мы ещё живы!»
То что в треде, в котором упоминается слово делфи — всегда появляется холиварщик, готовый костьми лечь, чтобы доказать что делфи это наше всё без оперирования фактами и ответами на прямые вопросы — никого не удивишь.

Вы реально пишете на нём потому что видите какие-то преимущества (блин, ну вот какие?) по сравнению с другими технологиями или у приверженцев Delphi просто мозгов не хватает изучить что-то другое? А может просто нравится?

Изначально я просто упомянул не менее крупные, но более известные (и что называется «на слуху») проекты, написанные на других технологиях. Просто для создания баланса тяжести маркетингового вброса, созданной этой статьёй.

Для делфистов же просто мнение о смерти как виагра для старпёра: «Нет язык не мёртв — это вы его постоянно закапываете!»
ну вот… опять то же самое… отвечаем а вопрос, который сами хотим, а не на вопрос, который задавался :( Стыдно что ли, что новых проектов нет (причём как ни хороших, так ни прохих, которые делают люди)? Или всё же есть? Или мы не знаем?

Сколько бы он не был бы полным по Тьюрингу (как и ассемблер прям :) ), для коммерческой разработки, на которую вы так напирали выше, необходимы и другие преимущества: распространённость и популярность сегодня (чтобы легко можно было найти специалистов), распространённость под различные платформы, наличие широкого комьюнити и широкого набора инструментов. Тот же C# на голову обгоняет Delphi по всем параметрам. Я уже не говорю про всякие С++ и Java.

Кроме отсутствия необходимости переписать говнокод, наработанный за годы, других преимуществ у Delphi просто нет. В лучшем случае он где-то не хуже. Но это «где-то» исчезающе мало.
Живым он будет по ходу вечно, как и всякие там COBOL'ы, на которых тоже написано полно промышленных проектов, которые с одной стороны просто не трогают, потому что и так работает, а с другой стороны количество новых проектов на нём стремится к нулю. Вы хоть один реально крупный и реально новый проект найдите за последние 5-6 лет, который народ отважился писать на Delphi (ну кроме самого)… Хотя давайте назовите какую-нибудь узкоспециализированную тулу, разработанную на Delphi, потому что главный инженер НИИЧАВО больше ничего не знает, и до этого 20 лет лабал одну систему, вот теперь за новую взялся, а что-то новое выучить уже возраст не позволяет :)

На том же С и C++, который хоронят не меньше, вот вам пачка довольно свежих и на порядок более сложных по сравненнию с какой-то там CAD-системой проектов, которые на слуху у общественности: Chromium, Chrome OS, Firefox OS, а ещё всякие другие менее известные мобильные операционные системы, всякие Node.js, Nginx и пр. — по сути до его распространённости он впереди планеты всей… Хотелось бы что-то подобное, что у всех на слуху услышать, а то из спора в спор всё одни и те же Skype и Total Commander перетекают, вот ещё какая-то CAD система появилась — теперь её приводить будут :)

Если зомби всё ещё шевелится, это не значит, что он на самом деле живой.

P.S. «c какой-то там CAD-системой» — не зря сказано — я в теме и сам работал над промышленной коммерческой CAD системой (первая работа), поэтому понимаю, что практически любая CAD гораздо проще по своей реализации, чем например браузер. В CAD меньше внешних неизвестных или плавающих факторов, хотя математика и физика (например конечно-элементный анализ какой-нибудь) там может быть гораздо сложнее. Но это уже математика и физика, имеющая к языку программирования очень опосредованное отношение.
Я один вспомнил не менее сложные продукты, например, от компании Autodesk (всякие там AutoCAD, Inventor, 3DStudioMAX, Maya и пр.), разработанные на альтернативных языках программирования и инфраструктуре?

Статья не более чем толстенный пиар подыхающего языка и платной (очень недешёвой) инфраструктуры, завязанной на него, преимуществ у которой по сравнению с альтернативными решениями просто нет.

Я так понимаю, аргументация типа Skype и Total Commander написанный на Delphi уже мало кого вставляет? Автор статьи решил тяжёлую артилерию в бой кинуть?
> Как видно из кода, есть специальная функция foo, которая служит для обхода RVO, чтобы вызывался конструктор копирования.

Каким образом foo() убивает RVO? Или это только специфика MSVC? К сожалению сейчас нет доступа к windows-машине, а в том же gcc (можно попробовать например тут coliru.stacked-crooked.com/ ), никакого убивания RVO функцией foo нет :(

P.S. Вот такой код убивания вроде как более универсальный?

ListAndIter GetStaticObj( /* require evil */ bool condition = false )
{
if( condition ) {
ListAndIter obj;
return obj;
}
else {
ListAndIter obj;
return obj;
}
}
Что-то прямо Яндекс последнее время падает в моих глазах :( На Linux, например, этот же Яндекс.диск (демон) жрёт 135% проца, их полный (standalone — т.е. вроде как и без интернета должен ставиться) Яндекс.браузер в Windows при наличии корпоративной proxy не ставится, как и кстати, Яндекс.диск… Что-то только сейчас задумался, что я стабильно пару тасков в месяц им кидаю, при том, что я не тестер :(
… и ещё большее увеличение сроков…

… просто никто ничего не мерял… да и не будет… ведь так приятно сидеть в неведении и ощущении внутреннего «эффективного» менеджера :)

А вообще я не понял вот это:

> в угоду количеству комментариев

что это значит? какие ещё комментарии? в коде? или что-то другое имелось ввиду?
я что-то не понял: в описываемом проекте бизнес-логика стала в результате замешана с UI?
Если тот B был программист и писал бизнес-логику, что мешает не заниматься разбором текстового ТЗ, а «написать» его в виде юнит-тестов?.. Т.е. вы с ним всё обговариваете, потом по общему понимаю совместно разрабатываете api взаимодействия с его бизнес-логикой, после чего лично вы, как пользователь его бизнес-логики пишите тесты (которые конечно же будут падать, потому что под api пока заглушки), которые в будущем будут показывать, насколько будущая бизнес-логика будет удовлетворять такому _ТЗ-набор-тестов_. Тут хоть на brainfuck'е бизнес-логику пиши — одна хрень, взаимодействие только через api.
> В VS 13 неплохой IntellisEnce для C++

А скажите в Express версии тоже. Просто как иначе оценить? Или необходимо всё же Ultimate триал качать?

Язык действительно сложен — никто не спорит, но очень и очень универсален и используется в областях, куда многим другим языкам путь заказан. Поэтому востребованность в хорошей IDE для него будет ещё очень долго.

И даже _настоящие_профи_ наверное всё же будут рады, когда среда будет им помогать, а не вводить в заблуждение и замешательство. Код можно набирать хоть в notepad, беря конструкции и используемые и привычные api из головы, а вот исследовать и разбирать чужой проект бывает порой гораздо сложнее, и тут бы очень и очень пригодилась хорошая IDE, которая позволила бы быстрее вникнуть в проект, быстро находить переменные и объявления новых типов, поменьше рвать мозг и тратить время разработчика на вникание и разбор макросов особо извращённой вложенности, а также исследовать незнакомые api незнакомых библиотек, что сам бы использовать никогда бы не додумался.
> Любое неожиданное поведение.

Вот сейчас пришёл на работу, чтобы как можно точнее описать поведение Visual Studio 2010 (дома этим говноподельем засорять комп не хочется совершенно).

В довольно крупной функции на несколько экранов (да, я знаю, что это безбразие нужно отрефактрить, но код в наследство достался) есть локальная переменная value. В месте, где она используется, ставлю курсор на неё — жму «Go to definition» или «Go to declaration» — без разницы — всё равно результат одинаково отвратительный: выплывает окно «Find Symbols Result» в лучшем случае, где куча мест, где объявлены аналогичные по названию переменные value (они локальные в разных функциях и обильно рассыпаны по всему проекту). Мне нужна только конкретно определение той переменной, на которой стоит курсор, а не все упоминания value в проекте — для этого поиск есть в конце концов.

Довольно часто без каких-то результатов просто выплывает MessageBox с текстом: «A definition for the symbol 'value' could not be located.» А переменная ведь где-то задекларирована? Или компиляция без неё происходит? :)

Я ответил на ваш вопрос?
> Как минимум, в студии 100% надежно (начиная с VS 2010) работает code completion

В какой комплектации нужно проверять эту 100% надёжность: Express, Pro, Ultimate, ещё какие? Какие плагины должны быть поставлены поверх. А то тут вроде говоришь о MSVC — народ слышит MSVC Pro + Visual Assist X («говоришь Ленин — подразумеваем партия, говоришь партия — подразумеваем Ленин» ©).

По поводу сложности развёртывания — смотря как делать. Ещё раз, когда представляешь код для пользователя необходимо строить дерево зависимостей, разворачивать шаблоны и макросы. Это не просто, но и прямо целиком дерево ведь сразу строить тоже не нужно. Тут конечно ума много на эту балалайку прикрутить нужно, но это не значит, что это не выполнимо для 90% случаев. MSVC же не срабатывает даже порой в пределах одного метода с локальными переменными без всяких шаблонов (особенно если есть одноимённая перенная в классе метода например, а ещё хуже глобальная), где никакого развёртывания не нужно. Что уж говорить про более сложные случаи. Да и потом, что вы меня убеждаете?! Тот же Visual Assist с задачей корректной навигации по коду гораздо лучше справляется. Хоть и не всегда идеально. Почему они могут, а MS — нет?

То же самое с подсветкой — она в большинсве случаев вообще ничего не означает. Точнее означает, но абсолютно бесполезна в большинстве случаев. Уж bool от выражения я наверное отличить и сам смогу в конкретном месте, а вот типы из шаблонов довольно часто не подсвечиваются никак. Опять же по моим ощущениям трёхлетней давности могу сказать, что тот же Visual Assist своей подсветкой вносил гораздо больше понимания в код, чем текущая реализация этого дела в MSVC2010.

Тут народ меня по всякому пытается убедить, что MSVC классный продукт, но половина из них приплюсовывает к поделию от MS ещё и Visual Assist. Это как бы намекает, что не одному мне не нравится продукт из коробки…
А вот что: я лично вас спрашиваю, что вы сделали, только потому, что считаю, что дальнейший диалог о продукте в отрыве чувства его цены просто неконсруктивным. И это не потому что я считаю себя умнее всех этих «пЕратов», а просто не представляю, как можно рассуждать о качестве чего-то не имея ощущения его свойств, среди которых есть и цена. Рад, что вы из тех, у кого это чувтсво присутвует :)

В отрыве от платформы Windows под Windows альтернативы есть (и да, это на самом деле всякие qtCreator'ы, Eclips'ы и NetBeans'ы, которыми вполне можно пользоваться, если бы не грёбаная привычка, выработанная Windows-программистами, которые в массе своей изначально работали в MSVC). Но вот когда работаешь с довольно запутанной и разрозненной экосистемой Windows — альтернатив тому же Visual Studio нет. Это правда.

Изначальным моим посылом было то, что MSVC как IDE для C++ (слово «Windows» под одним из плюсов видно затерялось) — не самое лучшее решение. Именно как IDE для С++. Где даже когда ты не имеешь отношений со всякими Windows-технологиями напрямую (например используешь всякие готовые библиотеки и врапперы от сторонних разработчиков — да тот же boost) работа MSVC в качестве IDE оставляет желать очень много лучшего. Про всякий Visual Assist и прочие костыли (хоть и довольно качественные), которые делают из MS-поделия конфетку я также не наезжал. Они молодцы и умеют зарабатывать на хлеб честно, выпуская действительно Продукт. MS тоже умеет зарабатывать, только несколько иным способом — впаривая всякую маркетинговую шелуху, а не продукт.

Ситуация с MSVC и альтернативами чем-то напоминает относительно недавнюю ситуации с IE и альтернативами, когда вроде и Firefox был, и Опера, и IE как-то не очень идельный был (и это слабо сказано), но с пьедестала лидера слезать не собирался. А вот пришёл игрок сопоставимый по масштабам и амбициям, для которого проект своего браузера — это не просто выражение своего недовольства тем, что один монополист плюёт на всех и творит, что вздумается, а стратегическое решение, конкретный и чёткий бизнес, и вот уже несколько лет как IE по разным оценкам свергнут с лидирующих позиций…

И то, что JetBrains осознанно занялись IDE для С++ внушает какие-то надежды, что наконец-то появится продукт, который уже из коробки можно будет неплохо так пользовать, а плагины для которого будут привносить именно дополнительный функционал, а не тот, который каждая современная IDE должна иметь изначально.

Information

Rating
Does not participate
Registered
Activity