![]() |
|
IT и Связь Обсуждение "айтишных" вопросов и средств связи |
![]() |
|
Опции темы | Опции просмотра |
![]() |
#61 | ||||||
My name is Exaybachay
|
![]() Цитата:
![]() KaraNagai добавил 14.06.2007 в 15:46 Цитата:
![]() Цитата:
![]() ну да ладно, я сам в эту теорию не верю, разумеется. Цитата:
Цитата:
![]() Цитата:
__________________
митьки никого не хотят победить Последний раз редактировалось KaraNagai, 14.06.2007 в 14:46. Причина: Добавлено сообщение |
||||||
![]() |
![]() |
Благодарность от: | Ludwig (14.06.2007) |
Зарегистрируйтесь или войдите под своим именем, чтобы спрятать этот рекламный блок |
![]() |
#62 | |
Редкий собеседник
|
![]() Цитата:
А тенденция сейчас как раз что бы слепить программиста на Ява или С# например. А так как эти языки, средства разработки и решаемые на них задачи не требуют зачастутю знаний, кот. тебе раньше давали. Даже если такому Ява-программисту дали обшую теорию, то в большинстве случаев она ему мало пригодна. Не трудно заметить, что С++ программист теоретически должен быть более грамотным и дисциплинированным. Кстати, такое впечатление, что понятие культуры программирования новоиспеченным Ява или .НЕТ программистам неизвестно. Поэтому я и говорил, что приятнее работать с программистом на Яве, кот. раньше программировал на С++, и пишет красиво, и код в меру оптимизирован, ничего лишнего, в отличие от только Ява программистов, кот. не вникатю в суть организации данных, никак не могут врубиться зачем нужно следовать введенному страндарту наименования классов, их членов и методов, переменных статических глобальных и локальных, и т.д. В принципе я всегда разделял людей, кот. знают языки программирования на две категории: инженер-программист и кодировшик. Дочка моя не программист, и до программиста ей еше топать и топать, а так начальная стадия самоучки кодировшика. ![]()
__________________
Steve Jobs:"It's better to be a pirate than to join the Navy." -- Odyssey: Pepsi to Apple |
|
![]() |
![]() |
![]() |
#63 | |||||
My name is Exaybachay
|
![]() Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
![]() ![]() И топать может оказаться гораздо меньше, чем кажется ![]()
__________________
митьки никого не хотят победить |
|||||
![]() |
![]() |
Благодарность от: | TYA (14.06.2007) |
![]() |
#64 | ||
Редкий собеседник
|
![]() Цитата:
Нас в то время учили всему что есть (немного, но знать надо было обязательно), а сейчас по-умолчанию все на Яве, хочешь круче - учи С++. Яркий пример с бывшим коллегой, он получил высшее заочно, практикумы выполнял на Яве, ну он себя и позицинировал как Ява-программист, при этом добавляя, что С++ слишком сложный, слишком много нужно знать, что там творится за кулисами. Вот Ява проше, мол, не надо о многом задумываться. А проработав со мной над Ява-проектом около полугода, он свое мнение поменял, поняв, что Ява это просто один из языков, которые облибли стереотипами, в том числе и простом программировании, и оказалось, что теорию программирования знать нужно, но их этому слабо учат, только языку и там задачки, и глубже не копают. Кстати, после того проекта я знаю, что из него получится настояший программист. ![]() Обязательно, назвался груздем - полезай в кузов, экзамены/тесты надо здавать. Цитата:
![]() ![]()
__________________
Steve Jobs:"It's better to be a pirate than to join the Navy." -- Odyssey: Pepsi to Apple |
||
![]() |
![]() |
![]() |
#65 | ||
Заслуженный Участник
|
![]() Цитата:
![]() Цитата:
Java не избавилась от не-необходимых вещей, а сильно упростила програмирование, чтобы легче было запрыгивать на корабль SE любому "индопаку" с неполным средним образованием, и плюс чтобы начальники не комплексовали из-за того, что не понимают кода своих подчиненных, как с Си++ ![]() Сложно сказать что лучше, если деньги - не самоцель. |
||
![]() |
![]() |
![]() |
#66 | ||||
My name is Exaybachay
|
![]() Цитата:
![]() Я говорил о _цели_. Цель разработки - либо срубить бабок, либо удовлитворить необходимость. А отнюдь не написание кода. Цитата:
Цитата:
![]() KaraNagai добавил 15.06.2007 в 07:43 Цитата:
__________________
митьки никого не хотят победить Последний раз редактировалось KaraNagai, 15.06.2007 в 06:43. Причина: Добавлено сообщение |
||||
![]() |
![]() |
![]() |
#67 | |
Заслуженный Участник
|
![]() Цитата:
Но на деле мало кто осознает, что минимализм, под которым я понимаю упрощение кода без ущерба для его читабельности, достигается труднее, чем раздувание кода. Другими словами, упрощение требует бо'льших интеллектуальных усилий, но в итоге с лихвой окупается ментшим количеством ошибок и меньшими затратами на улучшение, расширение и проч. Что самое обидное, минимализму в университетах не учат. Точнее может и учат конкретно в амер. универах, но косвенно, через преподавание Scheme и UNIX. Но в конце концов рынок должен был рано или поздно поставить все на свои места, верно? Так вот, тенденция уже есть: достаточно взглянуть на новый поток Интренет-стартапов вроде reddit.com и Facebook.com, в которых начальный код пишется одним или двумя кодерами и без начальника, может прямо в студенческой общаге или в кафе. Стартовые инвестиции на такие сайты - обычно в районе 10к, в то время как "правильный" подход с аналогичными сайтами с Джавой и со всей иерархией начальников и VP традиционно обходился в десятки миллионов. И что примечательно, сегодня такие "правильные" компании уже не найти в списке популярных веб-сайтов. А теперь посмотри за какие бешеные деньги в итоге продаются эти новые стартапы - минимум миллионы, хотя гораздо чаще - десятки миллионов. Flickr, YouTube, Reddit - все относятся к этой категории динамичных и минималистичных стартапов. Да, кстати Reddit был написан на Лиспе. Так же как и этот сайт - news.ycombinator.com, где можно читать про такие стартапы. Мир десктоп-приложений более инертен и неповоротлив нежели Интернет, но в итоге и его ждет то же самое. |
|
![]() |
![]() |
![]() |
#68 | ||
My name is Exaybachay
|
![]() Цитата:
![]() но! одно тут но: вещи типа фликра, ютюба и реддита - это детские игрушки (изначально) в плане функциональнсоти по сравнению с любой бухгалтерской системой, прости господи. вот возьми и напиши список юзкейсов фликра и потом список юзкейсов, скажем онлайнового шопа. и сравни. на первый тебе наверняка понадобится час, на второй наверняка день. еще момент: вещи типа ютюба и фликра могли быть запущены в эксплуотацию в самом минимальном виде. у них нет требований к полноте функциональности. у онлайн шопа, не говоря уже о какой-нибудь банковоской системе или какой-нибудь системе автоматизации других бизнес-процессов, такое требование есть. поэтому ютюб и т.п. изначально можно было напиать очень маленьким тимом и потом развивать (а сейчас у того же ютюба уже немало народа-то). а серьезное бизнес-приложение таким образом просто не разработать. Цитата:
![]() просто весь этот минимализм работает когда задача минимальна или может быть начата как минимальная по крайней мере.
__________________
митьки никого не хотят победить |
||
![]() |
![]() |
![]() |
#69 |
Заслуженный Участник
|
![]()
KaraNagai:
Да, купленные стартапы начинают расти, но может это потому, что их купили большие фирмы? ![]() И не согласен, что Фликр - игрушка. Ты тусовался во фликре? Я - да, причем основательно, и точно скажу, что он нетривиален. Word сильно раздут, это известный факт. Сегодня он сложнее, сем кабина управленя Боингом, и это абсурд. А первая версия Эксела была написана двумя программистами и одним дизайнером, и подавляющее большинство юзеров могло бы использовать ту первую версию и сегодня тоже (если забыть о проблеме языков и юникоде). Теперь насчет того, что минимализм работает только когда задача минимальна, как ты сказал. В том-то и штука, что оптимизировать сложные вещи - сложно. Такая история: знал одного очень талантливого кодера, который в какой-то момент выеужденно занался бухгалтерией (а сразу после развала Союза особо и нечем было зарабатывать кодеру). Так вот, его система со временем разрослась и распухла, плюс кастомизация под каждого заказчика, и его это так достало, что он написал интерпретатор языка для описания бухгалтерий и зарплат. В итоге на кастомизацию уходила пара часов беседы с очередным заказчиком, а основной код уже не менялся Сегодня это стараются делать многие (продукт разрастается и появляется спец. скриптингоый язык), но для такой формализации и упрощения сложных задач требуются мозги. Это не просто, но это есть настоящее программирование. |
![]() |
![]() |
![]() |
#70 | |||
My name is Exaybachay
|
![]() Цитата:
Цитата:
про эксель не знал, но если речь идет о простом табличном процессоре только с формулами, то там действительно мало что писать. поэтому эксель можно было так сделать. но на данный момент никто вышедший на рынок с простым (даже бесплатным) табличным процессором не поимеет аудитории. Цитата:
![]() Видишь ли, есть такое правило: complexity never disappears. Какой бы он язык не написал, код этого языка + код зачаток кода кустомизации системы под конкретную бухгалтерию - это серьезная работа. И пока она не сделана никто этой бухгалтерией пользоваться не будет. Аналог минимума функций фликра можно специфицировать, написать, оттестировать и задокументировать за 1 месяц одному человеку. То же самое с этой бухгалтерией будет сделаться за гораздо больший срок. Притом тестирование системы с такой гибкой настройкой - это чистый nightmare и стоит очень дорого. И, заметь, бухгалтерия - это неплохо специфицированная и относительно компактная задача.
__________________
митьки никого не хотят победить |
|||
![]() |
![]() |
![]() |
#71 |
Заслуженный Участник
|
![]()
Нет, по-моему 1С в то время и в планах не было. Я об одной армянской фирме. Меня кстати судьба уберегла от бухгалтерий, за что я ей благодарен
![]() Ого, первый раз слышу, и по-моему заявление довольно абсурдное. Можешь обосновать? Например когда ты зипуешь данные, скажем сложный текст, и они как назло хорошо сжимаются - вот тебе простой пример как самый-самый общий алгоритм (сжатия) может упростить нечто сложное в разы. Более специфичные алгоритмы могут упрощать еще сильнее, например аудио запись с человеческой речью сжимается в сотни раз. Но речь не о сжатии, а вообще. Упрощения делаются с помощью обобщений - это касается языков высокого уровня, алгоритмов сжатия, итд. Так исчезает сложность или нет? |
![]() |
![]() |
![]() |
#72 | |||
My name is Exaybachay
|
![]() Цитата:
![]() Обосновать? Не могу. Могу подтвердить на опыте. Эта самая true complexity - есть не функция реализации, а функция требоавний. Можно менять требования, оптимизировать бизнес-процессы и т.п., но это уже не работа программиста совсем. И тут тоже надо учесть, что и к бизнес-процессам есть требования, которые обычно изменить никак нельзя. И у них тоже есть производная сложность. Цитата:
Цитата:
В случае когда задача нечетко задана, разумеется, можно и ее адаптировать. Точнее уточнить так, как тебе удобнее. Но в коммерческих приложениях это зачастую довольно сложно сделать, особенно в заказных.
__________________
митьки никого не хотят победить |
|||
![]() |
![]() |
![]() |
#73 |
Заслуженный Участник
|
![]()
KaraNagai:
Ты уже начал уводить разговор в другое русло. При чем тут complexity требований? Мы же говорим о программировании, то есть об упрощении реализации как раз таки. Так вот, почему например IE весит 50 MB, а Firefox - 5? Вроде оба решают одну и ту же задачу, вообще уже не отличишь внешне (в плане функциональности) но один так сильно раздут? При том, что я не сомневаюсь в квалификации майкрософтовских кодеров - MS собирает лучших людей и очень хорошо им платит. Проблема в том, повторюсь, что упрощение дается не легко, и часто люди вообще не думают в этом направлении. Хуже того, в мире комерческого софта раздувание считается нормой - это чтобы покупатель чувствовал себя комфортно по поводу потраченых денег. Предстваь себе, если бы MS Office весил в 10 раз меньше, как OpenOffice - кто бы стал платить за него $300? Вот и засели они, MS со своими сателитами, в этой нише bloated софта - сильно думать над кодом не надо, пиши как пишется, и заодно продукт выглядит солиднее. P.S. Вообще традиция раздувания конечно исходит от Майкрософта, но если проследить дальше во времени - то от IBM. Последний не выжил (где сейчас неимоверно раздутый и неуклюжий OS/2? - умер) потому что не хватило проворности в пиаре, а у MS хватило. |
![]() |
![]() |
Зарегистрируйтесь или войдите под своим именем, чтобы спрятать этот рекламный блок |
![]() |
#74 | |||
My name is Exaybachay
|
![]() Цитата:
и вся эта ютюбо-фликеровская революция в написании софта исходит отнюдь не от идеи, что надо писать компактный код, а от идеи, что для целого ряда задач можно выработать очень простые реквайрменты, которые несмотря на свою простоту дадут достаточно полезную функциональность, чтобы люди могли пользоваться результирующим продуктом. так вот в мире софта для коммерческого использования этого гораздо сложнее достичь. Цитата:
кстати, еще фишка: создание компактного кода для той же задачи путем универсализации нижних его уровней (то есть создание специализированных языков и/или очень гибко конфигурируемых систем) конечное решение не упрощает, а усложняет. несмотря на то, что по коду оно становится более компактным, возможно. Есть еще один момент (лично проходил несколько раз на живых проектах): создание очень гибко-конфигурируемых систем когда у тебя есть конкретная задача at hand, зачастую приводит к бОльшим трудозатратам по той причине, что не имея реальных реквайрментов (от юзеров, заказчиков и т.п.) к такой конфигурируемости просто не знаешь какого плана конфигурируемость понадобится. И промахиваешься. В результате тратишь больше время на конфигурируемость, а в итоге оно оказывается конфигурируемо не так, как тебе понадобится позже. А менять оказывается дорого. Даже в твоем примере человек сначала долбался с созданием систем под какое-то количество заказчиков, и только потом переписал все так, чтобы было легко конфигурировать. Цитата:
![]() Никто не делает специально большого кода. Просто как таковой размер кода никого не интересует по большому счету.
__________________
митьки никого не хотят победить |
|||
![]() |
![]() |
![]() |
#75 |
Заслуженный Участник
|
![]()
...а усложняет. несмотря на то, что по коду оно становится более компактным, возможно.
Наконец-то ты сам сказал то, что я пытаюсь тут протолкнуть ![]() как таковой размер кода никого не интересует по большому счету. И я о том же, Kara. И это есть фундаментальная проблема программирования, причем с одной стороны можно раздувать код в любом языке (под "раздувать" я имею ввиду ничего не делать чтобы он стал компактным), например и на Лиспе и на С++ можно писать плохо; а с другой стороны есть языки, которые даже при желании не позволяют тебе выражаться лаконично, например Java и C#. Впрочем, может быть ты не считаешь лаконичность преимуществом? В человеческом общении лаконичность ценится, и в конце концов для этого придуман язык математики. Так почему в программировании ценности должны быть другими? О! Вспомнил: ...Это письмо получилось таким длинным потому, что у меня не было времени написать его короче. -- Блез Паскаль ![]() Ludwig добавил 17.06.2007 в 11:41 По поводу размера IE: помнится в одной из старых систем, когда ты запрашивал установку IE6, он скачивал порядка 50 мег. IE7 update может быть меньше, потому что они в основном изменили UI, а движок остался тем же. Ludwig добавил 17.06.2007 в 13:29 И еще, по поводу простоты функциональных спецификаций. Это большое заблуждение счтать, что простота ФС буквально переводится в простой код. Вот тебе задачка: напиши ФС для Google Search. Последний раз редактировалось Ludwig, 17.06.2007 в 12:29. Причина: Добавлено сообщение |
![]() |
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщ. |
Ирландеи не хотят учиться на 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 |