![]() |
|
IT и Связь Обсуждение "айтишных" вопросов и средств связи |
![]() |
|
Опции темы | Опции просмотра |
![]() |
#76 | |||||||
My name is Exaybachay
|
![]() Цитата:
Цитата:
На лиспе можно _для_отдельных_задач_ писать более лаконично, чем на алголоподобных языках. Цитата:
Цитата:
Далее: математическую нотацию придумали отнюдь не для лаконичности, а потому что естественный язык просто неточен и неадекватен задаче. Цитата:
![]() Цитата:
Цитата:
__________________
митьки никого не хотят победить |
|||||||
![]() |
![]() |
Зарегистрируйтесь или войдите под своим именем, чтобы спрятать этот рекламный блок |
![]() |
#77 |
Заслуженный Участник
|
![]()
Google Search: призван опровергнуть твое утверждение, будто простота спецификации означает простоту реализации. Далее ты скажешь "смотря насколько подробна спецификация".
Код Гугла чрезвычайно сложен, но просто потому, что они обрабатывают миллиарды страниц, а не сотни. То же самое с Фликром: хостить сотни картинок - это сделает любой школьник, а сотни миллионов - не любой. Функциональная спецификация не описывает как справляться со scalability, однако это может стать огромной проблемой. Но scalability - это только одна сторона дела. Если в спецификации сказано, что требуется реализовать рейтинговую систему наподобие гугловской и фликровской - а для обоих она является коньком - то это ничего не говорит о сложности реализации этой системы. Поверь, что в обоих случаях реализация далеко нетривиальна, хотя функциональные требования формулируются парой предложений. Языки: скажи честно, сколько строк кода ты написал на Си++ и Лиспе? Далее: математическую нотацию придумали отнюдь не для лаконичности, а потому что естественный язык просто неточен и неадекватен задаче. "Сила, действующая на тело, равна произведению массы тела на ускорение, сообщаемое этому телу силой" vs. F=ma - Что короче? ![]() Продавать понятность за лаконичность кода не имеет смысла. Это не продажа понятности, Kara. Лаконичный код может быть понятнее раздутого кода потому, что он короче. Это смотря кто пишет ![]() |
![]() |
![]() |
![]() |
#78 | |||||
My name is Exaybachay
|
![]() Цитата:
Что до scalability и рейтингования, то это все тоже следует специфицировать. В частности - юзкейсами никзого уровня и нефункциональными требованиями. И сложность первых и вторых может слушить индикатором сложности результирующего кода. Разумеется это все не точная наука. Цитата:
![]() На С и затем С++ я пишу с 1988 года, последний раз писал по работе на С++ года три назад. С где-то 1996 года по 2002 это вообщем-то был мой основной язык разработки везде где я работал. То есть я ежедневно на нем писал код. Заглядывать и всякие сандбоксы делать на нем сейчас приходится время от времени. А к чему этот вопрос вообще? К размеру кода? ![]() Цитата:
Цитата:
Цитата:
__________________
митьки никого не хотят победить |
|||||
![]() |
![]() |
![]() |
#79 |
Заслуженный Участник
|
![]()
Короче второе. Но краткость - далеко не основное преимущество. Основное преимущество состоит в том, что этим высказыванием удобно опрерировать, так как все составляющие его символы однозначны и у него немного вариантов записи.
Kara, извини, друг, это уже демагогия чистой воды. Вобщем я не спорю и выбрасываю белый флаг ![]() |
![]() |
![]() |
![]() |
#82 | |
Пенсионер всея Ирландея
|
![]() Цитата:
![]() ![]()
__________________
«Борітеся — поборете!» |
|
![]() |
![]() |
![]() |
#83 | |
Заслуженный Участник
|
![]() Цитата:
![]() |
|
![]() |
![]() |
![]() |
#84 | |
Редкий собеседник
|
![]()
Ну, бла-бла, лаконичность, понятность, функциональность...
![]() Добавлю, что в очень упрошеной форме - от функциональный требований (на основании требований пользователя) зависит техническая спецификация (язык, функциональный спек... вплоть до детального описания функций и их параметров), а от технической спецификации и от исполнителя зависит качество кода и в конечном итоге - программного продукта. И качество кода как правило зависит от детальной функциональной спеки, на ~70%, на ~30% от исполнителя - это кстати тоже грубо, но очень близко к практике. Цитата:
Не верю. Что значит на Яве скомпилированный исполняемый? Ты о .жар?
__________________
Steve Jobs:"It's better to be a pirate than to join the Navy." -- Odyssey: Pepsi to Apple Последний раз редактировалось TYA, 18.06.2007 в 15:16. |
|
![]() |
![]() |
Благодарность от: | Ludwig (18.06.2007) |
![]() |
#85 | |||
My name is Exaybachay
|
![]() Цитата:
1. Чересчур усердным обобщением, что делает код менее очевидным - раз и более сложным в случае непредвиденных изменений - два. 2. Применением всяческих сокращающих код нотаций и т.п., что делает код плохо читаемым. Цитата:
KaraNagai добавил 18.06.2007 в 17:06 Цитата:
KaraNagai добавил 18.06.2007 в 17:11 И про размер кода: давайте Ludwig напишет класс для решения квадратных уровнений. Без пользовательского интерфейса, просто класс. На С++ скажем. А я напишу на джаве, например ![]() И мы сравним результат по размеру. И заодно посмотрим что такое правильный код в понимании Людвига ![]() Специально предлагаю тривиальную и не требующую никакого почти что API задачу. KaraNagai добавил 18.06.2007 в 17:13 А да и добавлю еще: специально не будем специфицировать требования четко. Будем специфицировать их именно так, как их обычно специфицирует заказчик, а именно "ну надо мне, вот". В данном случае нужен класс для решения квадратных уравнений.
__________________
митьки никого не хотят победить Последний раз редактировалось KaraNagai, 18.06.2007 в 16:13. Причина: Добавлено сообщение |
|||
![]() |
![]() |
![]() |
#86 | |||||
Редкий собеседник
|
![]() Цитата:
Цитата:
Цитата:
Это ничего обшего не имеет с компактностью кода. Одним из примеров компактности кода является логичекое разбиение функции на подфункции вместо банального копи/пэйст. Цитата:
Цитата:
Перфекционизм прежде всего (на мой взгляд) это предвидение проблем, и постановка их сейчас, а не когда это поздно. И связано напрямую с тем как удачно спроектирована программа (тех. спек), насколько далеко вперед адресуются проблемы, о кот. тот же самый заказчик не подозревает. Перфекционизм напрямую связан с профессионализмом, и как я уже говорил случается, что порой нужно искать компромисс, что само по себе опять говорит о присутствии профессионализма. Как Ludwig заметил, перфекционизм приходит с возрастом, но я бы сказал с опытом, так же как и профессионализм.
__________________
Steve Jobs:"It's better to be a pirate than to join the Navy." -- Odyssey: Pepsi to Apple |
|||||
![]() |
![]() |
Благодарность от: | Ludwig (19.06.2007) |
![]() |
#87 | |
Пенсионер всея Ирландея
|
![]() Цитата:
Если-бы "Мировое Сло" стояло на принципах перфекционизма, то "Глава Мирового Сла" никогда бы не стал Самым Богатым Айтишником. Говорить же что перфекционизм это синоним профессионализма, это ИМХО сильно преувеличивать. Признак профессионализма это делать именно то что нужно для достижения поставленной цели максимально эффективным способом и игнорировать сторонние раздражители. Бывает что для этого нужен перфекционизм. Да.
__________________
«Борітеся — поборете!» |
|
![]() |
![]() |
Благодарность от: | TYA (19.06.2007) |
![]() |
#88 | ||||||||
My name is Exaybachay
|
![]() Цитата:
![]() Цитата:
![]() Цитата:
Цитата:
![]() Кстати, копи-н-пейст может не столько создавать проблему увеличения размера кода, сколько проблему внесения изменений в код. Если в таком коде надо что-то подправить, то лучше б у тебя была одна копия его. Собственно размер кода здесь не так важен. Цитата:
![]() Цитата:
Цитата:
То есть можно сколько угодно прокручивать воображаемые сценарии и писать спеки и код на их основе, но чем дальше эти сценарии будут от того, с чем сталкивается заказчик, тем больше вероятность того, что он с этими сценариями никогда не столкнется, а столкнется с другими. А код будет в результате больше и/или сложнее поменять. Цитата:
Ни тот ни другой типы для меня не являются идеалом инжинера, честно говоря ![]()
__________________
митьки никого не хотят победить |
||||||||
![]() |
![]() |
Зарегистрируйтесь или войдите под своим именем, чтобы спрятать этот рекламный блок |
![]() |
#89 | |||||||||
Редкий собеседник
|
![]()
Согласен. Мы же не в армии.
![]() Цитата:
![]() TYA добавил 19.06.2007 в 12:36 Цитата:
![]() Цитата:
![]() Цитата:
![]() Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
__________________
Steve Jobs:"It's better to be a pirate than to join the Navy." -- Odyssey: Pepsi to Apple Последний раз редактировалось TYA, 19.06.2007 в 11:36. Причина: Добавлено сообщение |
|||||||||
![]() |
![]() |
![]() |
#90 |
Заслуженный Участник
|
![]()
Kara:
Насчет квадратного уравнения: ты бы еще предложил создать класс Integer с операцией инкремента ![]() ![]() Насчет копи-пейста. Тривиальное выделение повторяющихся частей кода в функции не только уменьшает код, но что самое главное, улучшает его читабельность. Хоть этим проблема упрощения кода не ограничивается, но это очень наглядный пример. Если повторяющемуся куску кода дать более или менее осмысленное название и выделить его в отдельную функцию, то на чтение и понимаение кода уйдет меньше времени. Верно? В общем случае может быть сложнее, чем просто находить повторы, но на то человеку дана целая куча нейронов в черепной кробке, надо их использовать. Грех не использовать ![]() Ты как-то говорил о множественном наследовании. Я это часто слышу от джавистов, мол в Си++ было много лишнего. Речь прежде всего о шаблонах, о МН тоже, и о многом другом. Проблема не в том, что это "плохие" парадигмы, а в том, что они не всем по зубам. Вырезая их из языка, ты как-бы опускаешь планки для тех, кто учится на програмиста. Собственно, этот трюк Sun-а удался - планки сильно опустились, армия программистов увеличилась в размерах, качество кода упало, а затраты на разработку в итоге поднялись, все счастливы. Не это ли нужно с точки зрения бизнеса? |
![]() |
![]() |
![]() |
Опции темы | |
Опции просмотра | |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщ. |
Ирландеи не хотят учиться на IT. | Benjamin | Общие темы | 88 | 26.06.2007 14:13 |
Поехать в Ирландию учиться | igorr | Образование | 4 | 29.03.2007 22:13 |
нашли где учиться... | AVK | Само приползло | 6 | 13.03.2007 00:27 |
где учиться.. | mary | Образование | 33 | 12.11.2005 09:47 |
Где учиться на бухгалтера и др. вопросы | Anonymous | Образование | 8 | 07.08.2003 19:52 |