Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Куда катится C++
|
|||
|---|---|---|---|
|
#18+
chritichmayton 3. Качество кода с точки зрения восприятия человеком. Например Delphi/Pascal имеет практическую удобную форму подачи алгоритма которая понятна даже не знающему программирование. это как? , можно пример Ну.. например английский язык. Если читать Delphi-алгоритм то получается почти осмысленный текст. Этим часто пользуются в учебниках по дискретной математике и теории графов при описании какой-то идеи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2016, 17:23 |
|
||
|
Куда катится C++
|
|||
|---|---|---|---|
|
#18+
chritichна самом деле есть 2 абсолютных показателя эффективности яп: 1)скорость написания 2)скорость чтения Есть такой тезис что программист 90% времени занят чтением текст программы. Либо документации. Я не люблю эту фразу но это "всем известно" или "очевидно". Если вы старжил форума то вы наверняка знаете студентика который кодил ультра-короткие языки. Предлагаю погуглить. Там много было сломано копий и разбито клавиатур... Мдя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2016, 17:27 |
|
||
|
Куда катится C++
|
|||
|---|---|---|---|
|
#18+
SashaMercuryУ нас был Си. Потом появился так называемый C with classes, который и стал основой для С++. Но почему появление в языке такой сущности как классы, привело к тому, что появился новый язык С++, а не к расширению языка Си? Ведь возможность разработки на Си в объектно-ориентированном стиле существовала и на тот момент, и явная сущность класса в каком-то смысле является синтаксическим сахаром. С момента появления языка С++ в нем произошло большое число изменений, но достаточно ли их для того, чтобы появился новый язык, и нужно ли это. Мне это неизвестно, но мне кажется, что по вопросу в данной теме было бы полезнее размышлять в таком ключеПочитай вот эту книжку: https://www.amazon.com/gp/product/0123745144 Много-много вопросов отпадут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2016, 18:38 |
|
||
|
Куда катится C++
|
|||
|---|---|---|---|
|
#18+
Почему же С++ не С и таков, как есть? Я бы почитал у автора The Design and Evolution of C++ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2016, 18:43 |
|
||
|
Куда катится C++
|
|||
|---|---|---|---|
|
#18+
И да, о "катится С++". Можно почитать, куда его хочет катить старина Бьярне... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2016, 18:45 |
|
||
|
Куда катится C++
|
|||
|---|---|---|---|
|
#18+
chritich1)скорость написания 2)скорость чтения Большинство новых фич улучшают первое, неготивно влияя на второе. Ну это надо еще доказать.)) Например, лямбды намного улучшают читаемость, т.к. повышают локальность кода реализующего алгоритм (в отличие от функций-колбэков). Ждем ваши примеры ухудшения читаемости (которых большинство). maytonголосование Не заморачивайтесь, все равно здесь выборка нерепрезентативная. Да и собственно нет ее, этой выборки )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2016, 19:02 |
|
||
|
Куда катится C++
|
|||
|---|---|---|---|
|
#18+
Anatoly MoskovskyНе заморачивайтесь, все равно здесь выборка нерепрезентативная. Да и собственно нет ее, этой выборки )) Ничего. Я вижу аудиторию. И я буду делать в уме поправку. Но даже такие сведения для меня будут ценны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2016, 19:14 |
|
||
|
Куда катится C++
|
|||
|---|---|---|---|
|
#18+
Попробуйте на доступ https://docs.google.com/spreadsheets/d/1s3Z3VhJWbayxhVt0Lh4HdKg5KNguJkIz0WUm89KOTgw ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2016, 19:19 |
|
||
|
Куда катится C++
|
|||
|---|---|---|---|
|
#18+
alex_kalex_k, хотя мне пришлось сделать хак: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. без этого не линкуется. хз, что это такое :) Обработка исключений. Запрети их и не используй. https://gcc.gnu.org/onlinedocs/libstdc /manual/using_exceptions.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2016, 12:23 |
|
||
|
Куда катится C++
|
|||
|---|---|---|---|
|
#18+
maytonchritichпропущено... это как? , можно пример Ну.. например английский язык. Если читать Delphi-алгоритм то получается почти осмысленный текст. Этим часто пользуются в учебниках по дискретной математике и теории графов при описании какой-то идеи. хотелось бы увидеть пример кода такого алгоритма на дельфях, очень сомнительно что там текст более осмысленный чем у других. А популярность делфей среди такой аудитории связана исключительно с развитой инфраструктурой для програмирования мышкой ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2016, 15:05 |
|
||
|
Куда катится C++
|
|||
|---|---|---|---|
|
#18+
Anatoly Moskovskychritich1)скорость написания 2)скорость чтения Большинство новых фич улучшают первое, неготивно влияя на второе. Ну это надо еще доказать.)) Например, лямбды намного улучшают читаемость, т.к. повышают локальность кода реализующего алгоритм (в отличие от функций-колбэков). Ждем ваши примеры ухудшения читаемости (которых большинство). ну я ж не утверждаю, что все новые фичи -зло. А лямбды надо было добавить в стандарт еще тогда, когда туда добавили <algorithms>. Итак, абсолютное зло из нового стандарта: ключевое слово auto, скрывает имена типов, читать код становится сложнее - это очевидно. Это, своего рода,- уход от статической типизации, ведь статическая типизация - не только помогает отловить ошибки при компиляции, но и повышает читабельность кода. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2016, 15:21 |
|
||
|
Куда катится C++
|
|||
|---|---|---|---|
|
#18+
chritichИтак, абсолютное зло из нового стандарта: ключевое слово auto, скрывает имена типов, читать код становится сложнее - это очевидно. Нет. Не очевидно. И у меня обратное мнение. Таким образом ваше слово против моего. Пока не тянет на доказательство. Приведите например кусок кода, где идет цикл по итератору, и убедите меня что явное упоминание типа итератора повышает читаемость ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2016, 15:28 |
|
||
|
Куда катится C++
|
|||
|---|---|---|---|
|
#18+
+1 auto & lambda очень повышают читабельность. Без них вообще не вижу смысла заниматься набиванием типов по 3 раза на функцию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2016, 16:03 |
|
||
|
Куда катится C++
|
|||
|---|---|---|---|
|
#18+
Anatoly MoskovskychritichИтак, абсолютное зло из нового стандарта: ключевое слово auto, скрывает имена типов, читать код становится сложнее - это очевидно. Нет. Не очевидно. И у меня обратное мнение. Таким образом ваше слово против моего. Пока не тянет на доказательство. Приведите например кусок кода, где идет цикл по итератору, и убедите меня что явное упоминание типа итератора повышает читаемость ))) вот пример кода, что напечатается в поток вывода? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2016, 17:19 |
|
||
|
Куда катится C++
|
|||
|---|---|---|---|
|
#18+
Siemargl+1 auto & lambda очень повышают читабельность. Без них вообще не вижу смысла заниматься набиванием типов по 3 раза на функцию. офигеть, auto оказывается ещё и повышает читабельность ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2016, 17:21 |
|
||
|
Куда катится C++
|
|||
|---|---|---|---|
|
#18+
Siemargl+1 auto & lambda очень повышают читабельность. Без них вообще не вижу смысла заниматься набиванием типов по 3 раза на функцию. Про лямбда отчасти согласен, а auto это просто попытка упростить вышедший из под контроля синтаксис. Оно конечно лучше чем typedef на каждый чих,но тут плюс как и с лямбдами - не надо ломать голову для придумывания очередного осмысленного имени. Хотя не факт что это плюс, т.к. лишний повод не задумываться что пишешь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2016, 19:18 |
|
||
|
Куда катится C++
|
|||
|---|---|---|---|
|
#18+
critichвот пример кода, что напечатается в поток вывода? Вообще-то перегрузка/специализация функций существует, чтобы не задумываться о том какая функция вызывается, а чтобы компилятор сам вызывал нужную в зависимости от типа. Поэтому ответ на этот вопрос - напечатается содержимое объекта переданного в print. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2016, 19:54 |
|
||
|
Куда катится C++
|
|||
|---|---|---|---|
|
#18+
Anatoly MoskovskyПоэтому ответ на этот вопрос - напечатается содержимое объекта переданного в print. Какой-то очень оптимистичный взгляд. Лично у меня несколько раз в году печатается содержимое временного объекта, который был создан из переданного объекта. Сам конечно виноват, что ленюсь все конструкторы с одним параметром объявлять explicit. Однако auto использую только там, где тип 100% понятен из окружающего кода(итераторы и некоторые другие гораздо более редкие случаи), в остальных случаях явно прописываю тип, чтобы мне, а не компилятору, было понятно с каким классом работаем и какая перегрузка функции будет вызвана. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2016, 00:16 |
|
||
|
Куда катится C++
|
|||
|---|---|---|---|
|
#18+
critichSiemargl+1 auto & lambda очень повышают читабельность. Без них вообще не вижу смысла заниматься набиванием типов по 3 раза на функцию. офигеть, auto оказывается ещё и повышает читабельность auto повышает читаемость но снижает информативность. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2016, 05:50 |
|
||
|
Куда катится C++
|
|||
|---|---|---|---|
|
#18+
SiemarglОбработка исключений. Запрети их и не используй. Отлично! Спасибо :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2016, 10:09 |
|
||
|
Куда катится C++
|
|||
|---|---|---|---|
|
#18+
MasterZivSashaMercury, с++ отличается от с не только наличием классов. с++ принципиально язык со строгой типизацией. Это я запомнил, потому удивился сегодня, когда перечитывал BS. The C++ PL $7.4 Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Finding the right version to call from a set of overloaded functions is done by looking for a best match between the type of the argument expression and the parameters (formal arguments) of the functions. To approximate our notions of what is reasonable, a series of criteria are tried in order: [1] Exact match; that is, match using no or only trivial conversions (for example, array name to pointer, function name to pointer to function, and T to c o n s t T ) [2] Match using promotions; that is, integral promotions (b o o l to i n t , c h a r to i n t , s h o r t to i n t , and their u n s i g n e d counterparts; §C.6.1), f l o a t to d o u b l e , and d o u b l e to l o n g d o u b l e [3] Match using standard conversions (for example, i n t to d o u b l e , d o u b l e to i n t , D e r i v e d * to B a s e * (§12.2), T* to v o i d * (§5.6), i n t to u n s i g n e d i n t ; §C.6) [4] Match using userdefined conversions (§11.4) [5] Match using the ellipsis ... in a function declaration (§7.6) If two matches are found at the highest level where a match is found, the call is rejected as ambiguous. The resolution rules are this elaborate primarily to take into account the elaborate C and C++ rules for builtin numeric types (§C.6). For example: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Думал, что строгая типизация в принципе не позволит такого. Но, даже если в том случае, если данные преобразования законны в рамках термина "строгая типизация", BS ранее пишет о том, что существует некий оператор reinterpret_cast. Вот, что он пишет о нем: same $6.2.7The s t a t i c _ c a s t operator converts between related types such as one pointer type to another, an enumeration to an integral type, or a floatingpoint type to an integral type. The reinterpret_cast handles conversions between unrelated types such as an integer to a pointer. This distinction allows the compiler to apply some minimal type checking for s t a t i c _ c a s t and makes it easier for a programmer to find the more dangerous conversions represented as reinterpret_casts. Some s t a t i c _ c a s t s are portable, but few r e i n t e r p r e t _ c a s t s are. Hardly any guarantees are made for reinterpret_cast , but generally it produces a value of a new type that has the same bit pattern as its argument. If the target has at least as many bits as the original value, we can r e i n t e r p r e t _ c a s t the result back to its original type and use it. The result of a r e i n t e r p r e t _ c a s t is guaranteed to be usable only if its result type is the exact type used to define the value involved. Note that r e i n t e r p r e t _ c a s t is the kind of conversion that must be used for pointers to functions (§7.7). Что значит "generally "?) Сегодня generally завтра у нас "special case". Разве из этого не следует что у С++ всё-таки слабая типизация. Или лучше сказать "не сильная типизация", или это всё-же не так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2016, 08:09 |
|
||
|
Куда катится C++
|
|||
|---|---|---|---|
|
#18+
SashaMercuryСегодня generally завтра у нас "special case". Разве из этого не следует что у С++ всё-таки слабая типизация Из этого - не следует ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2016, 12:59 |
|
||
|
Куда катится C++
|
|||
|---|---|---|---|
|
#18+
SashaMercuryДумал, что строгая типизация в принципе не позволит такого. Но, даже если в том случае, если данные преобразования законны в рамках термина "строгая типизация", BS ранее пишет о том, что существует некий оператор reinterpret_cast. ... Разве из этого не следует что у С++ всё-таки слабая типизация. Или лучше сказать "не сильная типизация", или это всё-же не так? Нет, не следует. reinterpret_cast - это ... способ сказать компилятору "отвянь, я знаю что делаю" и выключить любые проверки. В любом случае, опытный программист всегда найдёт способ выстрелить себе в ногу... Так что С++ - это язык со строгой типизацией, кроме того случая (и для тех участков кода), когда вы сами сознательно заставляете его проверять поменьше. В обычной ситуации применять кувалду reinterpret_cast программисту для решения своих задач не требуется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2016, 14:35 |
|
||
|
Куда катится C++
|
|||
|---|---|---|---|
|
#18+
Anatoly MoskovskySashaMercuryСегодня generally завтра у нас "special case". Разве из этого не следует что у С++ всё-таки слабая типизация Из этого - не следует ))) А из чего это следует?) Или всё-таки у С++ строгая типизация ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2016, 16:34 |
|
||
|
Куда катится C++
|
|||
|---|---|---|---|
|
#18+
SashaMercuryА из чего это следует?) Или всё-таки у С++ строгая типизация Что такое строгая типизация и пригодны ли языки с нею для практического использования никто не знает. Про С++ можно только сказать, что тут строже чем в С. Например нельзя из void* присваивать в другие указатели. А то, что например обратно можно, как раз и говорит что о полностью строгой типизации нет речи. Но там где реально надо - проверка равенства типов есть. Немножко даже добавили в С++11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2016, 17:23 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=39278989&tid=2018431]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
74ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
| others: | 15ms |
| total: | 186ms |

| 0 / 0 |
