Роб Пайк (Rob Pike (http://en.wikipedia.org/wiki/Rob_Pike)), автор классических книг и разработчик, стоявший у истоков Unix, Plan 9, Inferno и UTF-8, ныне работающий в Google, в своей приветственной речи на конференции OSCON выступил (http://infoworld.com/d/developer-world/google-executive-frus... с критикой языков программирования Java и C++, заявив, что эти индустриальные языки излишне усложнены и не соответствуют требованиям современных вычислительных окружений.
По мнению Пайка эти языки слишком сложны в использовании, слишком запутаны и требуют изучения множества тонкостей. Java и C++ также не хватает лаконичности, несмотря на то, что C++ создавался для ухода от низкоуровневости Си, а Java для упрощения некоторых конструкций С++, запутанность и многословие этих языков со временем только увеличивается и они в современном виде отошли от первоначальных целей, заложенных их создателями. Также эти языки плохо подходят для многопоточного и сетевого програ...URL: http://infoworld.com/d/developer-world/google-executive-frus...
Новость: http://www.opennet.me/opennews/art.shtml?num=27413
>В качестве альтернативы инженеры Google
>предложили свой вариант - язык Go.кто бы сомнивался
так почему же ихний хрониум и большиство разработок гугла - именно гугло девелеперов пишут на C++/Java?
пусть перепишут для начала свой тупой хрониум на ихнем ггг Гоу
>кто бы сомнивался
>так почему же ихний хрониум и большиство разработок гугла - именно гугло девелеперов пишут на C++/Java?
>пусть перепишут для начала свой тупой хрониум на ихнем ггг ГоуПотому что для этого надо сначала переобучить ту толпу девелоперов, которые разрабатывают и поддерживают разработки Гугла. А из также опенсурс-комьюнити.
И еще потому, что это не проблема самого Гугла - это проблема самих девелоперов, которые на Гугл работают, за зарплату или добровольно. Ведь это им в конечном итоге приходится возиться с этими сложнючими инструментами и порождаемым ими кодом.
Подозреваю, что любой отдел Гугла, который заявит "мы готовы перейти с того, чем сейчас пользуемся, на Go и показать всем, как это круто", получит зеленый свет и кучу премиальных. Только такого отдела что-то не находится...
>Подозреваю, что любой отдел Гугла, который заявит "мы готовы перейти с того, чем сейчас пользуемся, на Go и показать всем, как это круто", получит зеленый свет и кучу премиальных. Только такого отдела что-то не находится...Если бы все решали только "зеленый свет и куча премиальных", то не было бы опен-сурса и производители проприетарного софта творили бы все что хотели.
Разработки - это творческий процесс. И только люди, не обладающие творческими способностями могут думать, что разработчикам можно вот так вот взять и построиться, и даже по собственному желанию быстренько так перейти на новые средства разработки, которые им не нравятся, и к которым они не привыкли. Даже ради бабла.
Здесь ключевым фактором является даже не способность что-то изучить, а именно творческая отдача и удовольствие от тех средств, которые разработчик использует. И эти чувства вот так вот по заказу поменять труднее всего.
Однако таким как вы, это вряд ли знакомо. Сразу видно, что все что вы делаете - только ради выгоды и без удовольствия.
Подождите. Постепенно будет появляться все больше девелоперов, которые будут выбирать Go. А также будут появляться и другие языки, поддерживающие альтернативные концепции. Это процесс постепенный.
> Однако таким как вы, это вряд ли знакомо. Сразу видно, что все что вы делаете - только ради выгоды и без удовольствия.Телепат вашего уровня, конечно легко читает даже те мысли индуктора, которых у него отродясь не было. Браво!
Я имел в виду тезисы статьи: "старые языки - говно и мученье, а вот Го - сказка, полет и радость!". Творческие люди (в том числе и программисты) любят изучать и применять новое. Если все так, как говорит автор Го, то люди, изучившие этот язык, должны с негодованием отвергать старые языки и всячески этот Го использовать, продвигать и пропагандировать. Здесь же мы видим, что язык, который продвигает и рекламирует аж сам Великий Гугль, не имеет сообщества и расхваливает его только сам автор. Подозрительно, не находите?
>Телепат вашего уровня, конечно легко читает даже те мысли индуктора, которых у него отродясь не было. Браво!Стоит кого-то раскусить, как разу начинаются жалобы на телепатию.
>Я имел в виду тезисы статьи: "старые языки - говно и мученье, а вот Го - сказка, полет и радость!".
Во-первых, вы сильно утрируете тезисы - там более конкретно сказано. А не о сферических говне и сказке в вакууме.
>Творческие люди (в том числе и программисты) любят изучать и применять новое. Если все так, как говорит автор Го, то люди, изучившие этот язык, должны с негодованием отвергать старые языки и всячески этот Го использовать, продвигать и пропагандировать. Здесь же мы видим, что язык, который продвигает и рекламирует аж сам Великий Гугль, не имеет сообщества и расхваливает его только сам автор. Подозрительно, не находите?
Вы просто не знаете ни эту индустрию, ни ее историю.
А по-вашему, когда появились С++ и java, на них что так же вот кинулись все?
Сколько времени народ вообще со структурного программирования на объектное переползал.Просто не знаете.
А новые вещи всегда сначала длительное время осваивает меньшинство, какими бы они перспективными они ни были.
И в конце-концов лично мне тоже не так важно, как дальше пойдут дела именно у Go. Не этот язык, так другой.
Факт в том, что диагноз таким системам, как C++ и java поставлен точно. А уж что именно их заменит - это уже другой вопрос. И уж точно это будет не один какой-то язык.
Ой ну да ладно! с++ уже кто только не хоронил,а на нем (и на Си) до сих пор пишут низкоуровневые вещи.Насчет java не знаю.
но конечно все идет к тому что программист уже не должен будет заморачитваться ни с типами данных,ни с другой обременительной фигней...
>Ой ну да ладно! с++ уже кто только не хоронил,а на нем (и на Си) до сих пор пишут низкоуровневые вещи.Во-первых, о С речь вообще не шла. Если вы его к этой теме примешиваете, значит вы толком не знаете ни С, ни С++.
А на счет С++ - никто его и не хоронит. Даже COBOL и Fortran все еще живы.
>Насчет java не знаю. но конечно все идет к тому что программист уже не должен будет заморачитваться ни с типами данных,ни с другой обременительной фигней...
Насчет java не знаете...
Все понятно, у вас в этом вопросе просто слишком много личного.
Во многом вы правы) с явой у меня много личного.и с с++.причем с первым все хорошо,а вот с +++ не очень
>Во многом вы правы) с явой у меня много личного.и с с++.причем с первым все хорошо,а вот с +++ не оченьМного у кого много с чем хорошо и много с чем не очень. Ну и что?
Просто флудите?
Вы знаете, я не против позаморачиваться вот такой "вот фигней". Мало того, это очень полезная фигня.
>Вы знаете, я не против позаморачиваться вот такой "вот фигней". Мало того, это очень полезная фигня.Вы вообще о чем?
>А по-вашему, когда появились С++ и java, на них что так же вот кинулись все?
>Сколько времени народ вообще со структурного программирования на объектное переползал.когда появился С++ многие С-шники прямо скажем и бросились его осваивать
а вот когда появилась Java
то ее не набросались осваивать
более того она никому не была нужна
хотя многие офшор компании с запада ее пытались навязать
а бросились осваивать Java когда многие начали интересоватся программированием для мобаил
>когда появился С++ многие С-шники прямо скажем и бросились его осваивать
>а вот когда появилась Java
>то ее не набросались осваивать
>более того она никому не была нужна
>хотя многие офшор компании с запада ее пытались навязать
>а бросились осваивать Java когда многие начали интересоватся программированием для мобаилМногие "бросались" на C++, а многие оставались на С. Сравнивать эти языки - это значит не понимать, что это совсем разные технологии.
Вот как-раз вотребованность С ни капельки не уменьшилась, а только увеличилась. И проблем С++ у него нет. Поскольку совершенно другая ниша.
Кто-то "бросался" на java, а кто-то не "бросался".
И на Go сейчас много кто уже "бросился". И кроме Go, постоянно появляется куча новых языков.
Только рассуждать о языках на уровне "собака и кость" - значит ничего не знать об индустрии.
И требовать, чтобы Гугл вот так быстренько переписал все свои проекты на новом языке, в качестве подтверждения его перспективности, когда еще толком на нем библиотеки не сформировались - это полный абсурд.Только речь была не об этом. Был поставлен правильный диагноз в отношении C++ и java.
И дело даже не в Go.
> И требовать, чтобы Гугл вот так быстренько переписал все свои проекты на новом языке, в качестве подтверждения его перспективности, когда еще толком на нем библиотеки не сформировались - это полный абсурд.Зачем же "все проекты"? Достаточно хотя бы одного, пусть нового, проекта, в котором будет использован этот язык - и если использование будет успешным, можно будет показать реальное превосходство нового языка, а не недостатки старых.
> Был поставлен правильный диагноз в отношении C++ и java
Указать на несовершенство мира может любой ребенок. Правильный диагноз предполагает еще и решение о лечении - клинически проверенными лекарствами. А это не диагноз, а реклама очередной гомеопатической панацеи (которая, на 100% состоя из глюкозы, совершенно не раздражает слизистую и не вызывает побочных реакций).
>Зачем же "все проекты"? Достаточно хотя бы одного, пусть нового, проекта, в котором будет использован этот язык - и если использование будет успешным, можно будет показать реальное превосходство нового языка, а не недостатки старых.Вы не знаете, зачем все проекты?
У каждого проекта своя цель и назначение. При чем здесь Go?По-вашему получается, что единственная цель Гугла создать и продвигать новый язык.
Короче, вообще не понимаете о чем говорите, а просто флудите без толку.>Указать на несовершенство мира может любой ребенок. Правильный диагноз предполагает еще и решение о лечении - клинически проверенными лекарствами. А это не диагноз, а реклама очередной гомеопатической панацеи (которая, на 100% состоя из глюкозы, совершенно не раздражает слизистую и не вызывает побочных реакций).
Ну они не только указали на несовершенство, они и решение предложили, и даже его воплотили.
Только ведь никто и не обещал, что новый язык должен стахановскими методами вытеснить существующие языки. И они также не говорили, что собираются сделать язык, который заменит все другие языки.Они лишь показали путь. И показали работающий пример, который реально подтверждает, что по этому пути можно идти.
А якобы необходимость срочного внедрения нового языка - это уже полностью ваши фантазии, которые лишь демонстрируют, что вы плохо разбираетесь в языках программирования и разработках.
Количество разработанных языков растёт не по дня, а по часам. Языки давно разрабатываются под задачи. Должно быть "вот язык" --- "вот как он решил задачу". Не толпы набросившихся, это совсем не обязательно, но реальное внедрение в жизненные проекты --- это необходимо, как минимум для афтора языка, что в 99% увидеть, что то, что он придумал лажа. А так, разработать ещё одного язык в вакууме --- это не более, чем показать свою интеллектуальную импотентность.
>Не толпы набросившихся, это совсем не обязательно, но реальное внедрение в жизненные проекты --- это необходимо, как минимум для афтора языка, что в 99% увидеть, что то, что он придумал лажа.Будем считать, что "не" перед словам "лажа" вы просто забыли.
Ну понятно уже, что так же, как и предыдущий "грамотей" вы считаете, что единственной выход для "афтора", чтобы вы не считали его творение "лажей" - это немедленное "внедрение в жизненные проекты".
А как вы интересно определяете, когда это "внедрение" начинается? Только когда это доходит до достаочно большой толпы, чтобы вы это заметили?
>Количество разработанных языков растёт не по дня, а по часам.
Вас на самом деле просто-напросто пугает необходимость делать выбор.
>Языки давно разрабатываются под задачи. Должно быть "вот язык" --- "вот как он решил задачу".
>А так, разработать ещё одного язык в вакууме --- это не более, чем показать свою интеллектуальную импотентность.А как вы определяете, когда язык "решает задачу", а когда не решает?
Ведь, если вы не знаете, какие задачи решают те языки, про которые вы говорите, что он якобы "в вакууме" - это еще не значит, что они не создавались для решения определенных задач.
"Интеллектуальная импотентность" - это и есть причина непонимания того, что происходит на самом деле.
Очень характерный для тролля симптом - переход на личности в теоретических темах. Причем безапелляционный до хамства. Фи.Не вдаваясь в высокие материи, в которых здесь разбираетесь, конечно, только вы один, сведем все к одному простому вопросу: если даже в Гугле не знают, куда пристроить свой язык, на кой черт всем остальным бежать впереди паравоза?
Будут проекты, где Го порвет всех - не нужно будет обсирать почтенные языки, на которых, кстати, сейчас держится весь энтерпрайз. Сейчас проектов на Го нет и, по вашему же меткому выражению, "еще толком на нем библиотеки не сформировались". И как при этом можно кричать на площадях о том, что Го - круче всех?
>Не вдаваясь в высокие материи, в которых здесь разбираетесь, конечно, только вы один, сведем все к одному простому вопросу: если даже в Гугле не знают, куда пристроить свой язык, на кой черт всем остальным бежать впереди паравоза?На этот раз мы узнаем, что вы понимаете тот факт, что они немедленно не переписали Хрониум, как то же самое, что и "не знать, куда пристроить".
>Будут проекты, где Го порвет всех - не нужно будет обсирать почтенные языки, на которых, кстати, сейчас держится весь энтерпрайз.
Анализ недостатков вы понимаете, как "обсирание". А свойста языков вы выводите из "почтенности", то есть в конечном итоге, по количеству поклонников, поскольку самостоятельно что-то оценить не в состоянии.
А так же считаете, что в индустрии ИТ языки друг друга не иначе, как "рвут".
>Сейчас проектов на Го нет и, по вашему же меткому выражению, "еще толком на нем библиотеки не сформировались". И как при этом можно кричать на площадях о том, что Го - круче всех?
Ну вы тем самым лишь подтвердили, что не представляете себе процесс развития языков. В том числе тех же самых "почтенных". Услышали, что чего-то нет - и обрадовались - а что и к чему - даже не понимаете.
По крайней мере выясняется, что вы требовали "переписать" прикладное приложение, даже не зная, существуют ли стабильные библиотеки. То есть продемонстрировав тем самым свое полное непонимание предмета.
Полемика для вас, похоже, сводится к огульному указанию на умственную неполноценность и клиническую неопытность совершенно незнакомого вам оппонента. Не вижу смысла переводить на это байты, кормежка окончена.
>Полемика для вас, похоже, сводится к огульному указанию на умственную неполноценность и клиническую неопытность совершенно незнакомого вам оппонента.А вы значит до этого думали, что о вашей "клинической неопытности" можно догадаться только познакомившись с вами, но никак не по вашим высказываниям. Ну, рассчитывая на это, вы только еще лучше продемонстрировали свою "клиническую неопытность".
То есть вы уже сами признаете "умственной неполноценностью" отождествлять такие вещи, как демонтстрация альтернативных концепций в реализации языков и переписывание прикладного приложения (очень большого по размеру проекта и количеству разработчиков).
Итак, начало дискуссии было таким.>>>>В качестве альтернативы инженеры Google предложили свой вариант - язык Go.
>
>кто бы сомнивался
>так почему же ихний хрониум и большиство разработок гугла - именно гугло девелеперов пишут на C++/Java?
>пусть перепишут для начала свой тупой хрониум на ихнем ггг ГоуТо есть "предложить в качестве альтенативы свой вариант" - вы понимаете так же, как и внезапно переписать "большинство разработок".
>Подозреваю, что любой отдел Гугла, который заявит "мы готовы перейти с того, чем сейчас пользуемся, на Go и показать всем, как это круто", получит зеленый свет и кучу премиальных. Только такого отдела что-то не находится...
То есть "предложить свой вариант в качестве альтенативы" - вы понимаете еще и так.
К тому же как, уже было отмечено выше, вы считаете, что в опен-сурсе по-вашему все решает "зеленый свет" и "куча премиальных".
>То есть "предложить в качестве альтенативы свой вариант" - вы понимаете так же, как и
>внезапно переписать "большинство разработок".предложили? пусть первые покажут пример
а то надеятся что - вот мы предложили и все сразу кинутся переписывать все свое на Гоу - глупов качестве своего "предложили" я говорю - пусть для начала перепишут Хрониум на свой Гоу
ps следующий комментарий уже не мой а другого оппонента
>>То есть "предложить в качестве альтенативы свой вариант" - вы понимаете так же, как и внезапно переписать "большинство разработок".
>
>предложили? пусть первые покажут примерПример чего?
Ну они и показали пример, реализовав компилятор, обладающий альтернативными свойствами.>а то надеятся что - вот мы предложили и все сразу кинутся переписывать все свое на Гоу - глупо
То есть "предложить альтернативы" - вы понимаете как ожидать, что "все сразу кинутся переписывать все свое".
>в качестве своего "предложили" я говорю - пусть для начала перепишут Хрониум на свой Гоу
Я понял уже, что если они немедленно не сделают, как вы говорите - вы будете к ним плохо относиться.
Просто "переписать Хрониум" - это единственная доступная вашему пониманию демонстрация альтернативных свойств нового языка.
>ps следующий комментарий уже не мой а другого оппонента
Это конечно сильно меняет дело.
>Пример чего?
>Ну они и показали пример, реализовав компилятор, обладающий альтернативными свойствами.компилятор это не пример
пусть серьезные проекты начнут переписывать
Пайк же позиционирует Go как замена Java и С++
вот пусть хрониум который занимает кодом около гигабайта и написан на С++
перепишут на Go
покажут пример того какой Go хороший производительный языкно я больше чем уверен что Go умрет так же как и умер не родившись язык D
который защищали такие же троли как вы
упорно между прочим защищали>То есть "предложить альтернативы" - вы понимаете как ожидать, что "все сразу кинутся
>переписывать все свое".вас заело
>Я понял уже, что если они немедленно не сделают, как вы говорите - вы будете к ним плохо
>относиться.вы не правильно поняли
вам уже и так и сяк разжевывают по буквам а вы упорный ****>Просто "переписать Хрониум" - это единственная доступная вашему пониманию демонстрация
>альтернативных свойств нового языка.у вас ни логики ни понимания
вы просто обычный троль
видимо мама вас не забрала как других детей с опеннета в гагры что бы вы остыли в море на солнышке>Это конечно сильно меняет дело.
очень сильно
тем что я стараюсь отвечать только на свои реплики
и не отвечать за когото
Еще раз. Хозяевам Гугла вообще-то не так важно, на каких языках написаны их проекты.
Это проблема разработчиков, которые на Гугл работают за деньги либо из энтузиазма, на каких языках они пишут.Будет больше разработчиков, которые умеют писать на новом языке - будет больше проектов на этом языке.
Кроме того, только ваша неграмотность позволяет вам думать, что большие проекты переписывают на новых языках. На новых языках обычно пишут новые проекты.
>>Пример чего?
>>Ну они и показали пример, реализовав компилятор, обладающий альтернативными свойствами.
>
>компилятор это не пример пусть серьезные проекты начнут переписыватьЯ уже понял прекрасно, что наличие реального компилятора, имеющего реально превосходящие характеристики, и более лаконичный язык при этом - для вас это примером не является.
Это просто потому, что самостоятельно вы ни язык ни компилятор оценить не можете.
И ждете, когда другие что-то перепишут. И еще при этом думаете, что все оценивают также, как и вы.>Пайк же позиционирует Go как замена Java и С++
Но он нигде и не возражает, чтобы были и другие альтернативы, а не только Go.
Вас просто раздражает сам факт, что у ваших любимых языков появляются альтернативы, а даже не сам Go.>вот пусть хрониум который занимает кодом около гигабайта и написан на С++ перепишут на Go
>покажут пример того какой Go хороший производительный языкЯ уже понял прекрасно, что самостоятельно вы это понять не можете.
>но я больше чем уверен что Go умрет так же как и
>умер не родившись язык DНу надейтесь. С учетом того, что D ни капельки не умер, а продолжает потихоньку зравствовать и развиваться.
Вы просто здесь демонстрируете полное незнание истории развития С++, если думаете, что хороший язык должен развиваться быстрее. И что по-вашему существующие проекты (тем более гигабайтные) должны на нем моментально переписываться.
>>То есть "предложить альтернативы" - вы понимаете как ожидать, что "все сразу кинутся
>>переписывать все свое".
>
>вас заелоТо есть вы подтверждаете, что вы "предложения альтернатив" понимаете именно так, но вас раздражает, что вам об этом напоминают.
>очень сильно тем что я стараюсь отвечать только на свои реплики
>и не отвечать за коготоВо-первых, чтобы вас с другими не путали, вам надо от них отличаться, и не столько ником, сколько образом мышления.
А во-вторых, обращение на "вы" здесь не является уважительной формой, а всего лишь обобщением с теми, кто мыслит так же, как и вы.
> А во-вторых, обращение на "вы" здесь не является уважительной формой, а всего лишь обобщением с теми, кто мыслит так же, как и вы.На пишите "Вы" и будет понятно. Просто путается. Вы даром так часто повторяете тезисы. Достаточно ссылаться на свои предидущие фразы. А то действительно троллизмом попахивает.
Мне лично Ваши аргументы видятся вполне достаточными.
И, да: Если говорите "вы" и подразумеваете "всех" оппонетнов - это норм. А вот когда Вы им всем ставите дагноз - это уже провакация.
Люди, склонные к стереотипам, больше смотрят на правила общения, которые придумали другие люди, и кого они считают своими авторитетами. Поскольку самостоятельно проанализировать смысл сказанного бывают не в состоянии.А те, кто способны к самостоятельному мышлению - смотрят на смысл и содержание сказанного, а не на форму.
>На пишите "Вы" и будет понятно. Просто путается. Вы даром так часто повторяете тезисы. Достаточно ссылаться на свои предидущие фразы. А то действительно троллизмом попахивает.
Вообще-то это мои проблемы, чем от меня будет пахнуть.
Танки грязи не боятся.В троллинге можно официально обвинить только тогда, когда доказано, что либо человек говорит без всякой связи, либо противоречащие вещи, либо притворяется в своей точке зрения, которой он на самом деле не придерживается.
Демонстрация противоречивости аргументов оппонента, цитируя и комментируя их и ставя правильные акценты - это троллингом не является. Точно так же, как не давать оппоненту уйти в сторону и попытаться увести внимание от своих ошибок.
Точно так же - чисто человеческое удовлетворение от осознания собственной правоты и слабости аргументов оппонента, и даже слабости интеллекта оппонента - само по себе это троллингом не является. В какой бы форме человек ни высказывал свою точку зрения, если это действительно его точка зрения.
>Мне лично Ваши аргументы видятся вполне достаточными.
>И, да: Если говорите "вы" и подразумеваете "всех" оппонетнов - это норм.
>А вот когда Вы им всем ставите дагноз - это уже провакация.Я не ставлю диагнозов - я выражаю свое мнение о человеке, и это мое право. Так же как и его право хаять и ругать те вещи, которых он не понимает, и тех изветных людей, до уровня которых ему очень и очень далеко.
Просто многие бездарности, начитавшись страшных статей про троллинг, думают, что если в процессе общения на почве своих же ляпов и глупости они вдруг почувствовали себя плохо, то их оскорбленное самомнение станет оправданием их невежеству и и каким-то образом изменит смысл сказанного со стороны их более развитых оппонентов.
>Люди, склонные к стереотипам, больше смотрят на правила общения, которые придумали другие
>люди, и кого они считают своими авторитетами. Поскольку самостоятельно проанализировать смысл
>сказанного бывают не в состоянии.
>А те, кто способны к самостоятельному мышлению - смотрят на смысл и
>содержание сказанного, а не на форму.Не состояние, не желание, желание просто ляпнуть, своя позиция... Вы сейчас под одну гребёнку загнали несколько разных людей и создали стереотипы...
>>На пишите "Вы" и будет понятно. Просто путается. Вы даром так часто повторяете тезисы. Достаточно ссылаться на свои предидущие фразы. А то действительно троллизмом попахивает.
>Вообще-то это мои проблемы, чем от меня будет пахнуть.
>Танки грязи не боятся....
>- это троллингом не является. Точно так же, как не давать
>оппоненту уйти в сторону и попытаться увести внимание от св...
>Точно так же - чисто человеческое удовлетворение от осознания собственной правоты и
>слабости аргументов оппонента, и даже слабости интеллекта оппонента - само по
>себе это троллингом не является. В какой бы форме человек ни
>высказывал свою точку зрения, если это действительно его точка зрения.То есть Вы сейчас пытаетесь показать что Вы:
а) правы
б) потому всё Ваше многословие оправдано
в) потому Вы - не тролль (сам факт, что Вы об этом полемизируете, говорит о том, что Вы убеждаете, прежде всего, себя)
г) раз аргументируете лучше других - то Вы сам лучше других.(Слабость аргументов Вы ставите показателем слабости интеллекта)Осознавая их неправоту Вы вместо простого определения своей позиции занимаетесь самолюбованием и публичным унижением оппонентов.
>Я не ставлю диагнозов - я выражаю свое мнение о человеке, и
>это мое право. Так же как и его право хаять и
>ругать те вещи, которых он не понимает, и тех изветных людей,
>до уровня которых ему очень и очень далеко.Хмм. Вы определились, о человеке, или об обществе(Вы или вы)? К тому же Вы используете тот метод, который осуждаете - используете "право" вместо аргументов.
>Просто многие бездарности, начитавшись страшных статей про троллинг, думают, что если в
>процессе общения на почве своих же ляпов и глупости они вдруг
>почувствовали себя плохо, то их оскорбленное самомнение станет оправданием их невежеству
>и и каким-то образом изменит смысл сказанного со стороны их более
>развитых оппонентов.Тут Вы уже судите о талантливости многих людей
тех многих, которые "начитались страшных статей"...
которые "в процессе общения почувствовали себя плохо(из-за своих ляпов)"
то из-за этого "их оскорбленное самомнение станет оправданием их невежеству"
Я попытался разложить сказанное на составляющие, но это больше похоже на поток сознания нежели на связанные понятия.Такая многословность, такой пафос, такая подборка аргументов, такое уничижительное отношение к оппонентам...
Вам корона не жмёт?..Придать себе веса за счёт унижения других - что может быть серьёзней?
Тут есть один столь же многословный и так же чудесно связывающий аргументы. Он практически легенда. Местный легендарный антигерой. Вы находитесь на другой стороне, но методы Ваши столь же порочны.
Итак, отчетливо видна разница в наших позициях.Я на первое место ставлю факты, содержание, логические способности, и вообще способности.
А также равенство прав в высказывании своих точек зрения. И одновременно неразумность претензий, если сам в чем-то лажанулся.В то время как вы, судя по всему, на первое место ставите определнные правила общения, мораль и этику. А также равенство в правах человека не быть униженным и оскорбленным, какой бы низкий уровень способностей он не демонстрировал, и как бы он ни пытался унижать и оскорблять других.
И вы даже изо всех сил стали защищать честь и достоинсво тех людей, которые считают
что "предложить в качестве альтенативы свой вариант языка" - это должно сопровождаться немедленным переписыванием "большинства разработок", причем еще и в соответствующих выражениях. И что Роб Пайк, по их мнению, не иначе как "обосрал" определенные языки, заявив, что они "слишком усложнены". И что если, по их мнению, он и сферический Гугл в вакууме не кинутся немедленно переписывать на новый язык все существующие разработки, то ... далее следовало много разных выражений.Хотя сами уже сказали, что "грамотеи", заявляющие подобное, по вашему мнению были неправы.
---------------------------------
>Не состояние, не желание, желание просто ляпнуть, своя позиция... Вы сейчас под одну гребёнку загнали несколько разных людей и создали стереотипы...
"Не состояние, не желание" - не совсем понятно, что вы имели в виду.
"желание просто ляпнуть, своя позиция" - ну хотя бы так, я считаю это своим правом, и не пытаюсь отобрать это право у других.
"под одну гребенку" - может быть, однако в отличии от некоторых, у меня очень много разных "гребенок"
По крайней мере, если вас это утешит, по этой "гребенке" вы показались мне человеком, способным анализировать содержание отдельно от формы.>То есть Вы сейчас пытаетесь показать что Вы:
>а) правы
>б) потому всё Ваше многословие оправдано
>в) потому Вы - не тролль (сам факт, что Вы об этом
>полемизируете, говорит о том, что Вы убеждаете, прежде всего, себя)
>г) раз аргументируете лучше других - то Вы сам лучше других.(Слабость аргументов
>Вы ставите показателем слабости интеллекта)а) я считаю своим правом считать себя правым, также как и правом другого считать правым себя, а абсолютно правым бывает только модератор
б) что вы имеете против многословия? если мне не удалось выразиться короче, ничего не поделаешь - выражаюсь длиннее, ну да, это мои проблемы, а вам-то что?
в) вы пока что не доказали, что я - тролль, хотя это ваше право считать меня троллем только за то, что моя точка зрения не совпадает полностью с вашей, и я ее позволил себе отстаивать
г) если вы внимательно читали, то я там сказал слово "даже", то есть я нигде не выводил "слабость интеллекта" непосредственно из _любой_ слабости _любых_ аргументов, хотя действительно, интеллект оппонента я оцениваю по его словам, а не "просто так">Осознавая их неправоту Вы вместо простого определения своей позиции занимаетесь самолюбованием и публичным унижением оппонентов.
Именно так. Это чисто человеческий способ получения удовлетворения от дискуссии. Но ведь для этого оппоненту тоже нужно оказаться очень сильно неправым, настолько, что бы ему самому от этого стало плохо. То есть как бы он сам виноват.
>Хмм. Вы определились, о человеке, или об обществе(Вы или вы)?
Обобщить несколько человек в виду их похожести на почве их стереотипов - это не то же самое, что "об обществе".
>К тому же Вы используете тот метод, который осуждаете - используете "право" вместо аргументов.
Что значит "право вместо аргументов"? Вот вы и начинаете плавно уподобляться. Вы сначала докажите, что аргументов не было, а уже потом посягайте на чужое право высказываться. Хотя считать, что у меня нет каких-то прав, и не признавать моих аргументов - это тоже ваше право.
>Тут Вы уже судите о талантливости многих людей тех многих, которые "начитались страшных статей"... которые "в процессе общения почувствовали себя плохо(из-за своих ляпов)" то из-за этого "их оскорбленное самомнение станет оправданием их невежеству" Я попытался разложить сказанное на составляющие, но это больше похоже на поток сознания нежели на связанные понятия.
Ну да, я сужу об их "талантливости". Но не более, чем они судят, например, о Робе Пайке.
Если при этом сравнить достижения Роба Пайка с их достижениями, заключающимися в доскональном изучении феномена троллинга в целях найти универсальное прикрытие для собственной задницы. И обвинении в троллинге всех, кто их банально переспорил, либо просто показал несостоятельность их аргументации.>Такая многословность, такой пафос, такая подборка аргументов, такое уничижительное отношение к оппонентам...
>
>Вам корона не жмёт?..
>
>Придать себе веса за счёт унижения других - что может быть серьёзней?
>
>Тут есть один столь же многословный и так же чудесно связывающий аргументы.
>Он практически легенда. Местный легендарный антигерой. Вы находитесь на другой стороне, но методы Ваши столь же порочны.То есть ваш основной аргумент, что я - порочен. Ну что ж, пусть так, зато я искренен в своих суждениях. Но я так же очень хорошо знаю, что большинство "святош" бывают еще более порочны, только обычно тщательно это скрывают. Поскольку если их порочность вдруг внезапно раскроется, то рухнет все, что они до этого так долго строили, создавая иллюзию собстенной "святости".
Омфалос, однако. "ЧСВ over 9000", как говорит нынешняя молодежь.
Этому корона не жмет, она у него раздвижная...
Вы ОЧЕНЬ хороший тролль -:)
Правда обычно хорошие тролли признают свой троллизм, и просто считают его инструментом для вскрытия недомолвок и обманок.
Аналогично Вы позиционируете свой метод. Не признавать троллизма - тоже право. Ведь таки это не есть официальное определение с абсолютно чёткими чертами. Для меня всё, что вы перечислили является основными признаками троллей. Однако я, как и любой другой - субъективен.
Я не читал про троллей. Я читал троллей.
Я тут во многом с Вами объективно не согласен (типа "чисто человеческий способ получения удовлетворения от дискуссии"), местами Вы не верно интерпретировали мои слова. Но разводить полемику на эту тему в текущем топике не стану. Раз уж я Вас признаю за тролля, то могу и добровольно отказаться от предоставления Вам пищи.ПыСы. Думаю в реале за бутылочной пива у нас могли бы получится преинтереснейшие дискуссии. А на форумах гоняние оппонентов я не приветствую.
Итак, что здесь произошло.
- Я показал глупость агрументов, с которыми разные бездарности нападали на новый язык программирования и на его создателей. И вы сами это признали.
- Я получил чисто человеческое удовольствие от осознания своего превосходство.За что я получил обвинения в троллинге, как последнюю надежду вышеуказанных бездарностей смягчить всю тяжесть своего позора.
Надо отдать вам должное, Filosof, что лично вы назвали меня троллем по совсем другой причине, а именно в соответсвии с вашими представлениями о правилах общения.
(Отдельный вопрос, следовало ли мне соблюдать какие-то правила, если правила изначально этими бездарностями и были нарушены.)>Я не читал про троллей. Я читал троллей.
А вот я не поленился и прочитал (давно), когда стал замечать обвинения в каком-то троллинге в свой адрес.
В том то и дело, как вы можете отличить одних от других, если сами не представляете, что это такое.Ранее вы предъявили мне претензии, что я якобы навешиваю ярлыки. Хотя вас самого озадачило, что я в ваши "ярлыки" не вписываюсь, и никак не признаю сам себя троллем, даже после того, как признал, что получил удовольствие от несостоятельности оппонента.
В том то и дело, что я НЕ позиционирую себя, как тролля. Это вы призываете меня, чтобы я это сделал, надев на себя некий общественный стереотип.
А также _смысл_ сказанного мной не изменится от того, признают меня другие троллем или нет.
---------------------------------
Замечу также, что различные правила общения и поведения исторически создавались для того, чтобы толпа, не обремененная аналитическими способностями, как-то могда ориентироваться в той в информации, которую создавали для нее более развитые индивидуумы.А также правила исторически были нужны для того, чтобы не растрясти общественно-полезные потроха тех личностей, которых толпа выбирала для себя _авторитетами_, заслуженно или не заслуженно.
Однако в виду того, что население в результате прогресса медленно, но неминуемо умнеет, и появляется все больше людей, которые способны самостоятельно разобраться, что есть что, и кто есть кто - необходимость в правилах и нормах общения все больше и больше упраздняется. И заменяется _способностями_ более развитых личностей самостоятельно ориентироваться по ситуации и контексту.
Таким образом и формируются современные _мультикультурные_ сообщества.
Однако в сообществах, куда стекаются личности, котрых развитие обошло стороной, по-прежнему продолжают создаваться какие-то правила и ориентиры, чтобы представители этих сообществ могли думать, что они якобы что-то понимают, и якобы умеют мыслить, а не просто следовать правилам.
---------------------------------Личто вас, Filosof, я бездарностью не называл. Я лишь считаю, что вы в силу своего воспитания, либо образования, либо происхождения оказались под влиянием толпы. Это само по себе не является показателем низкого интеллекта, поскольку обнаружить само это влияние не так-то просто.
Интеллект начинает проявляться уже после того момента, когда это обнаружено.
По крайней мере мы с вами можем вести конструктивный диалог, находясь на разных позициях. Однако, как это было видно выше, когда вышеозначенные бездарности пытаются в подобный диалог вклиниться, у них все получается по-прежнему, как бы они ни старались.
Так что рекомендую вам задуматься, чьи поруганные честь и достоиство вы тщетно пытались защищать, и каким правилам вы пытаетесь следовать.
И, как видите, я никоим образом не покушался на ваше право оставаться на вашей позиции. Я даже не предлагал вам каких-либо правил.
Я даже готов принять, что это я вас "покормил" своим многословием, а не вы меня.
Итак, что здесь произошло - 2. Оборот медали.
Был поставлен вопрос: почему, если автор языка утверждает, что язык лучше всех других подходит для продакшена, его никто в продакшене не использует. Даже Гугль, столь лояльный и к автору, и к языку.
Вы пришли весь в белом и "показали глупость агрументов", заявив, что никто здесь ни черта не понимает в том, о чем говорит. Почему вы так решили и почему решили, что сказанное вами - аксиома, не требующая доказательств? Оставим этот вопрос психологам.
Когда оказалось, что мы, толпа бездарностей, не готовы выбрать вас авторитетом и заглядывать в рот, вы начали откровенно хамить и переходить на личности, а затем восхвалять свое поведение.
Вы, конечно, не тролль. Тут вы правы.
Вы - чванливый болтун и невежа.
А мы, пойдя у вас на поводу, изрядно загадили комменты выяснением отношений.
Надеюсь, народ не очень-то читает обсуждение несвежих новостей.
>Был поставлен вопрос: почему, если автор языка утверждает, что язык лучше всех других подходит для продакшена, его никто в продакшене не использует.Неправда. Вот вы и попались!
Вопрос, который вы поставили, и пытались отстаивать, звучал принципиально по другому. Почему Гугл не кинулся переписывать существующие проекты. То есть принципиально другой смысл.
Вы уже бездарно лжете от безысходности, поскольку данных, что новый язык нигде якобы не используется, у вас по-просту нет. И до этого вы упорно пытались доказать, что немедленно зачем-то должны быть переписаны существующие проекты.
И если бы вы что-то понимали в опенсур-разработках, вы бы знали, что язык используют как минимум те, кто его создают, и кто его поддерживает.
>Даже Гугль, столь лояльный и к автору, и к языку.
Вот вы сами себя и опровергли. Вы сами и здесь и выше утверждали, что Гугл новый язык поддерживает. По-вашему, он будет поддерживать его просто так?
Пытаясь это опровергнуть, вы тем самым лишь продемонструете лишний раз, что вы в опенсурс-разработках ничего не смыслите.>Вы пришли весь в белом и "показали глупость агрументов", заявив, что никто здесь ни черта не понимает в том, о чем говорит.
Почему "никто"? Только определенная группа лиц.
Пытаетесь свои проблемы приписать всем?
Зачем мне что-то показывать, если вы свою глупость неплохо показываете сами, сами себя опровергая.>Почему вы так решили и почему решили, что сказанное вами - аксиома, не требующая доказательств?
Вот вы и докажите сами, что новый язык нигде не используется. Пока об этом речь вообще не шла.
Пока лишь вы невежественно говорили, что должны быть переписаны старые проекты.>А мы, пойдя у вас на поводу, изрядно загадили комменты выяснением отношений.
Вы еще в пылу негодования неожиданно подтвердили, что вы и другие бездарности, от имени которых вы сейчас выступаете, не иначе как все "загадили".
>Надеюсь, народ не очень-то читает обсуждение несвежих новостей.
Судя по всему, вы уже сами боитесь, что вас кто-то прочитает.
------------------------------
Итак, пытаясь сами уйти в сторону от своих же требований о немедленном переписывании существующих проектов, вы сами подтвердили глупость своих слов.
> Неправда. Вот вы и попались!
> Вопрос, который вы поставили, и пытались отстаивать, звучал принципиально по другому. Почему Гугл не кинулся переписывать существующие проекты. То есть принципиально другой смысл.Найдите хоть один мой пост, в котором я требую переписать хоть один существующий проект. С высоты вашего знания все остальные люди на одно лицо?
> Вы сами и здесь и выше утверждали, что Гугл новый язык поддерживает.
Поддерживает, но сам не использует. О том и речь.
> Вот вы и докажите сами, что новый язык нигде не используется.
Не вижу смысла доказывать. Если бы были проекты, где Го показал свою обещанную эффективность, Пайк не доказывал бы эту эффективность "на бумаге", как он это сделал на этом выступлении. Вряд ли кто-то знает текущее состояние языка и проектов на нем лучше, чем он. Разве что вы...
>Найдите хоть один мой пост, в котором я требую переписать хоть один существующий проект. С высоты вашего знания все остальные люди на одно лицо?Почему все? Только такие, как вы. Зачем всем свои проблемы приписывать.
Весь спор начинался с глупого высказывания, что для доказательсва использования нового языка, якобы Гугл должен "переписать свой Хром и большинство своих проектов".Вы на этот дурацкий аргумент клюнули, как очевидно от своего незнания языков программирования, и наивно решив, что этот аргумент убийственный стали твердить, что новый язык якобы нигде не используется.
То есть сейчас вы уже сами подтверждаете, что требовать "переписать Хром" в качестве доказательства эффективности языка - это глупый аргумент.
>Поддерживает, но сам не использует. О том и речь.
Где у вас факты, что он не используется? Аргумент про Хром вы уже сами слили.
>Не вижу смысла доказывать.
Наоборот. Если есть работающий язык, тем более опен-сурс - нет смысла доказывать, что он уже используется.
Хотя ваше право считать иначе, демонстрируя тем самым незнание предмета.>Если бы были проекты, где Го показал свою обещанную эффективность,
Я уже прекрасно понял ваше мнение. Вам недостаточно наличия самого языка, готового к использованию, чтобы самостоятельно выяснить, можно его использовать или нет.
>Пайк не доказывал бы эту эффективность "на бумаге", как он это сделал на этом выступлении. Вряд ли кто-то знает текущее состояние языка и проектов на нем лучше, чем он. Разве что вы...
Что значит на бумаге? Существует реальный язык, и каждый, кто на это способен, может самостоятельно его установить и проверить утверждения Пайка на практике.
Ясно только одно, что вы и ваши собратья по разуму самостоятельно оценить какой-то уже готовый к применению язык не в состоянии, а просто ждете, когда за вас это кто-то сделает.
Видимо, придется воспользоваться вашей методикой и отнести к одному подвиду вас и altmind, о телепатической силе которого я уже говорил. Кстати, это именно он "клюнул" на тот пост, который вы так яростно оспариваете - я же отвечал на его утверждение, что Гуглю пофиг, на чем пишут его работники.
Раз вам очевидно, что я не знаю языков программирования - о чем вы спорите с таким явным ламером?
Требовать доказательства, что что-то не существует - несерьезный прием. Давайте вы мне будете доказывать отсутствие флогистона?
А "существование реального языка" еще не дает повода автору петь ему дифирамбы, да еще в сравнении с решениями, давно доказавшими свою эффективность.
Представьте, что БМВ привезет на очередную автовыставку не концепт, а чертежи нового двигателя и теоретические выкладки о его эффективности? Засмеют же.
>Видимо, придется воспользоваться вашей методикой и отнести к одному подвиду вас и altmindПоразительная проницательность. Если учесть, что под ником altmind - это тоже мои посты. Я просто потом залогинился.
Это вы там друг от друга открещиваетесь, а я от своих слов нигде отказываться не собирался.Вы клюнули на высказывание о "переписывании Хрома", решив, что это убийственный аргумент.
И нечего на меня свои проблемы переваливать.>Представьте, что БМВ привезет на очередную автовыставку не концепт, а чертежи нового двигателя и теоретические выкладки о его эффективности? Засмеют же.
Я уже понял, что для вас наличие реального языка, который другие могут установить и проверить, то есть "сесть и поехать" - у вас это ассоциируется с какими-то чертежами на бумаге.
Что значит "не дает повода петь дифирамбы"? Вы просто в теме не разбираетесь, даже не поняли толком, о чем там говорится - вот и используете расплывчатые формулировки.
И я уже прерасно понял, что вы вслед за первым "грамотеем" радостно решили, что Гугл по-вашему зачем-то спонсирует новый язык, но якобы его не использует. Ну не хотите - не изучайте. Хотя судя по вашим туманным высказываниям, вы и в остальных языках не разбираетесь. И просто не можете что-то изучить, вот и ищете опрадания для самоуспокоения.
> Поразительная проницательность. Если учесть, что под ником altmind - это тоже мои посты.Это было нетрудно. Очень уж у вас характерная склонность с скоропалительным и беспардонным обобщениям, ничем не подкрепленным.
С самого начала вы заявили, что я работаю без души и ради денег. Естественно, откуда вам знать, что первые пятнадцать лет я занимался программированием как хобби, в свободное от работы время. Дальнейшие ваши "откровения" были столь же удачными, обоснованными и вежливыми. Брэк. Я устал спорить с вашими фантазиями и читать "возвращение белого бычка".Прошу прощения у людей, которые могут оказаться читателями всего этого мутного потока с моим участием.
>> Поразительная проницательность. Если учесть, что под ником altmind - это тоже мои посты.
>
>Это было нетрудно.Так я это и не скрывал. Там в тексте и так понятно, что это говорит один и тот же человек. А от чего мне там прятаться было, если ляпы делали вы.
Это вы периодически от аргументов, которые вы говорили или защищали, пытаетесь открещиваться. А также от своих якобы "товарищей" по глупости.>С самого начала вы заявили, что я работаю без души и ради денег.
Ну да, если учесть, что вы считате, что в опен-сурсе по-вашему все решают "зеленый свет и куча премиальных". http://www.opennet.me/openforum/vsluhforumID3/69159.html#19
>Естественно, откуда вам знать, что первые пятнадцать лет я занимался программированием как хобби, в свободное от работы время.
Если вы первые пятнадцать лет чем-то там занимались, это еще не означает, что это было профессиональное программирование. Факт занятия одним и тем же длительное время еще не гарантирует, что было какое-то развитие.
Вы и такие как вы считаете, что качества и свойства языков программирования утверждаются исключительно "на бумаге". А о самом языке по-вашему можно судить исключительно по сделанным на нем проектам, и нельзя по-вашему по самому языку непосредственно. И по-вашему никогда якобы не было "плохих" проектов на "хороших" языках, и наоборот "хороших" на "плохих".
Видимо вас в школе учили программировать "на бумаге", не подпуская к компам, чтобы что-нибудь не сломали - так вы на этом уровне все свои "пятнадцать лет" и оставались.
>Прошу прощения у людей, которые могут оказаться читателями всего этого мутного потока с моим участием.
Я просто сразу не стал намекать о глупости даже самого предположения что Гугл какой-то язык поддерживает, и не использует. А вы сами даже не додумались, что опен-сурс язык программирования обычно используется самим комьюнити, которое его делает, еще задолго до его релизов. Просто потому, что вы о программировании и языках ничего, кроме как "на бумаге", не знаете.
И не осознав всей глупости даже изначальных предположений, вы уже обрадовались, наивно полагая, что хоть на этот раз вам удастся показаться компетентным. И напротяжении всей полемики отстаивали аргументы, которые работали против вас же. Хотя сразу было видно, что вы даже толком не понимаете, о чем идет речь в статье.
Инструменты не "сложнючие", а нерациональные для своей сферы применения. В Java, к примеру, слишком много совершенно не нужных нюансов, на которые приходиться тратить время и деньги в процессе разработки. Слишком много крайне неоптимальных архитектурных решений, слишком мало доведённых до ума стандартизированных механизмов, и это несмотря на огромный срок жизни Явы как технологии. Ява слишком абстракта для неофитов и проходит очень много времени пока они вообще въедут в технологию разработки и выберут свой путь из сотен и сотен вариантов, предлагаемых технологией. Её давно пора делать менее разнообразной, что будущему разработчику можно было быстро и просто вталдычить саму технологию разработки, прояснить ему рабочий процесс, а не тратить его время на муки выбора из сотен вариантов.
Реквестирую новый язык Go-go!
ага вспомнил высказывания Вирта по Оберону - типа это самый лучший язык ... :)
в рамках требований к языку, сформулированных Виртом, с этим очень трудно спорить IMHO
> ага вспомнил высказывания Вирта по Оберону - типа это самый лучший язык ... :)Как говорится, настоящий программист может написать фортрановскую программу на любом языке.
C++ содержит достаточные выразительные средства для лаконичного определения любой
практически оправданной программной конструкции - но требует при своём практическом
использовании крайне высокой квалификации.Java был придуман как способ уйти от высоких требований к квалификации программиста,
дабы полезно утилизировать ресурс стада быдлокодеров - виноват, программистов средней
и ниже-средней квалификации. При этом позволяет программировать практически сколь угодно
сложное поведение с разумной многословностью.Из моего личного опыта:
- C++ идеальный язык для написания концептуально сложных и требовательных к
производительности программ,
- Java действительно позволяет успешно разрабатывать программы средней сложности руками
не особо квалифицированных программистов (которых зато можно найти много и не очень дорого)А вот какую нишу занимает язык Go - лично мне непонятно. Из "интерпретируемых языков",
упомянутых в новости, всерьёз IMHO можно рассматривать только Lisp и его прямых
потомков (Scheme, etc). Все остальные - либо суррогаты того же Lisp, зачем-то
снабжённые другим синтаксисом (a la C либо Pascal), либо полная стилистическая
анархия (из известных - Perl и PHP).
> А вот какую нишу занимает язык Go - лично мне непонятно. Из "интерпретируемых языков", упомянутых в новости, всерьёз IMHO можно рассматривать только Lisp и его прямых потомков (Scheme, etc). Все остальные - либо суррогаты того же Lisp, зачем-то снабжённые другим синтаксисом (a la C либо Pascal), либо полная стилистическая анархия (из известных - Perl и PHP).категорично согласен! ;)
Заметил что тут очень часто употребляют термин "быдллокодеры". При этом никто конечно не относить себя к их числу. итак, получается что большая часть пишущих в опеннет - увалифицированные программисты )) Только вот курс теории вероятности и статистики говорит о небольших шансах того, что на одном ресурсе соберется столько профи. Кроме того, профессионала должен отличать кругозор, выходящий за рамки вопросов, нарямую входящих в его профессиональную сферу. Ибо человек без определенного уровня общекультурного развития, даже владеющий своим инструменом - ремесленник, не более. Поэтому надо быть терпимее, а то только дочитав до предыдущего поста уже увидел несколько пренебрежительных фраз м/у различными участниками. Тем более не надо преподносить свою т.з. как доминирующую только потому, что вы так думаете. Пример: тут много фраз о С++ и профессионализме. Могу привести тогда высказывание Торвальдса на вопрос, почему Git написан на чистом Си: "Если выбор Си даже не сделает ничего, кроме того, что оставит программистов на С++ вне проекта, это уже хороший выбор". Язык - это инструмент. А соответственно, хорош он или плох, определяется задачей. Молоток сам по себе не хорош и не плох, но если у вас шуруп вкрученный надо извлечь, то думаю сподручнее отвертка. Автор говорит о промышленном применении. А значит о том, что писать надо достаточно быстро, а код должен быть легко читаемый и недвусмысленный. Чтобы логические ошибки не пропустить, которые с т.з. синтаксиса не ошибки вовсе. Кроме того плюсовые опухоли, в виде функций делающих тоже самое, похоже называющихся, и существующих просто потому что надо было добавить новые костыли - достанет любого. Т.б. когда каждый производитель городит свои варианты либ. С++, жава, С# - все они выросли в монстров. Слишком много синтаксиса и либ/функций, делающих то же самое. В тех же плюсах, кто то использует указатели, кто то ссылки. А мой товарищ С-шник матерится на ссылки, ибо не видно сразу по коду, будет ли изменена переменная внутри ф-ии. У меня часть проекта на С#, шеф попросил проанализировать второй кусок - почему проблемы с его разработкой(система калибровки датчиков/сенсоров). Я написал систему прикладных драйверов для работы с разношерстным лабораторным железом за полгода, ядро для скриптования калибровки и БД, писавшиеся двумя немцами, не написаны и за год. Код оказался полная Ж по архитектуре. Хреновая БД, соответсвующая ей хреновая система интерфейсов в коде и далее по нарастающей. Не С# виноват - архитектура, неумение проектировать, незнание, для чего они пишут. Потом, на поддержку мне отдали прогу 10-летней давности на С++. Что характерно - такая же убогая архитектура, те же самые промахи. Чтобы добавить устройство, надо написать уйму кода, все плюсы ООП убиты плохой парадигмой программы. Расширяемость - экстенсивная. Так что вывод отсюда - не языки плохи, важна в первую очередь архитектура, а затем правильно подобранный инструмент. Грамотному, подкованному программисту пофиг на чем писать. Справочник в зубы и вперед. Другое дело для этого надо понимать как работает комп. А современное поколение, изучающее в универе только жаву, слишком абстрагировано от понимания работы компьютера, чтобы быть в состоянии выбирать другие инструменты и не зависеть от языка. Кроме того, прогры, отдаляясь от железа, перестают быть инженерами. А без инженерного склада ума что можно написать? Текстовый редактор - возможно. А как писать промышленную систему, если ты не понимаешь, как работает управляемое железо, какой смысл несут показания опрашиваемых приборов? Так что товарищи программисты, не воюйте по поводу языков, а улучшайте навыки в проектировании - универсальная языково независимая вещь, а также общеинженерный кругозор, ибо нельзя написать программу для физика, не зная хотя бы базу физики, и т.п.
По количеству плюсов за ваш пост можно узнать количество его прочитавших до конца ;)
// тоже плюсанул :)
>Надо быть терпимее, а то только дочитав до предыдущего поста уже увидел
>несколько пренебрежительных фраз м/у различными участниками.Категоричность юности всегда громко себя демонстрирует :)
>Автор говорит о промышленном применении. А значит о том,
>что писать надо достаточно быстро, а код должен быть легко читаемый
>и недвусмысленный. Чтобы логические ошибки не пропустить, которые с т.з. синтаксиса
>не ошибки вовсе.Всё верно. Сложность применения C++ в том и состоит, что программист
должен проявить определённую силу воли и немалый опыт, чтобы получился
немногословный, понятный и легко сопровождаемый код. Сила C++ в том,
что на нём можно определить свои правила игры для каждого случая и
использовать механизмы языка для контроля этих правил. Слабость -
в том, что "из коробки" никаких заслуживающих внимания правил
попросту нет, и очень легко "прострелить свою собственную ногу".>Кроме того плюсовые опухоли, в виде функций делающих
>тоже самое, похоже называющихся, и существующих просто потому что надо было
>добавить новые костыли - достанет любого.Перегрузка операций и методов - обязательная составляющая часть любого
современного языка. Форма реализации - вопрос вкуса :)>Т.б. когда каждый производитель городит
>свои варианты либ. С++, жава, С# - все они выросли в
>монстров. Слишком много синтаксиса и либ/функций, делающих то же самое. В
>тех же плюсах, кто то использует указатели, кто то ссылки. А
>мой товарищ С-шник матерится на ссылки, ибо не видно сразу по
>коду, будет ли изменена переменная внутри ф-ии.const ему в руки.
> Всё верно. Сложность применения C++ в том и состоит, что программист
> должен проявить определённую силу воли и немалый опыт, чтобы получился
> немногословный, понятный и легко сопровождаемый код. Сила C++ в том,
> что на нём можно определить свои правила игры для каждого случая и
> использовать механизмы языка для контроля этих правил.
> Слабость -
> в том, что "из коробки" никаких заслуживающих внимания правил
> попросту нет, и очень легко "прострелить свою собственную ногу".На самом деле этого достаточно, чтобы его не использовать в "промышленных масштабах".
Т.к. вкупе с уродским синтаксисом может порождать просто гениальные конструкции.
Чистый С в этом отношении гораздо лучше и живучее.
> Не С# виноват - архитектура, неумение проектировать, незнание, для чего они пишут.
> Потом, на поддержку мне отдали прогу 10-летней давности на С++. Что
> характерно - такая же убогая архитектура, те же самые промахи.Естественно, в 100% случаев за качество программы отвечает не разработчик
языка программирования, а разработчик именно этой конкретной программы.
И "прогладка между стулом и монитором" не очень качественная, результаты
будут соответствующие. "Настоящий программист может написать фортрановскую
программу на любом языке", эта цитата всегда рулит.
>> Не С# виноват - архитектура, неумение проектировать, незнание, для чего они пишут.
>> Потом, на поддержку мне отдали прогу 10-летней давности на С++. Что
>> характерно - такая же убогая архитектура, те же самые промахи.
>
>Естественно, в 100% случаев за качество программы отвечает не разработчик
>языка программирования, а разработчик именно этой конкретной программы.
>И "прогладка между стулом и монитором" не очень качественная, результаты
>будут соответствующие. "Настоящий программист может написать фортрановскую
>программу на любом языке", эта цитата всегда рулит.Проблема в том, что плюсЫ(не знаю как насчет остального) _стимулируют_ писать г-но. "С" тоже этим страдает, но в мЕньшей степени.
>Проблема в том, что плюсЫ(не знаю как насчет остального) _стимулируют_ писать г-но.
>"С" тоже этим страдает, но в мЕньшей степени.Некачественный код на C++ получается обычно у программистов, изучивших конструкции
языка, но не давших себе труда изучить рекомендации по стилю программирования.На русском языке одно и то же явление тоже ведь можно описать по-разному: диапазон
возможностей включает в себя площадную брань, сухое изложение фактов и набор
поэтических преувеличений ;)
>Некачественный код на C++ получается обычно у программистов, изучивших конструкции
>языка, но не давших себе труда изучить рекомендации по стилю программирования.Ничего личного, однако я считаю это высказывание бредом. Что за "рекомендации по стилю программирования"? Каждый человек волен выбирать свой собственный стиль. Как оптимизировать код, если человек не будет иметь возможности экспериментировать? Или вы считаете, что все хорошее уже сделано до нас, а мы должны только, как стадо баранов, строчить идентичный код?
>Ничего личного, однако я считаю это высказывание бредом. Что за "рекомендации по
>стилю программирования"? Каждый человек волен выбирать свой собственный стиль.В одежде - пожалуйста, если в компании нет дресс-кода. Иначе только в выходные.
Когда работаешь в команде, программируешь так, чтобы удобно работать было не только
тебе, но и твоим коллегам.>Как оптимизировать код, если человек не будет иметь возможности
>экспериментировать? Или вы считаете, что все хорошее уже сделано
>до нас, а мы должны только, как стадо баранов, строчить идентичный код?Во-первых, 90% "хорошего" действительно сделали до нас.
Во-вторых, не вижу строгой связи между стилем программирования и возможностями
оптимизации кода. Единственное значимое влияние одного на другое - правильно
выбранный стиль кода задаёт такую его структуру, которая позволяет заниматься
оптимизациями без изменения всего и вся.
>> Или вы считаете, что все хорошее уже сделано до нас, а мы должны только, как стадо баранов, строчить идентичный код?
> Во-первых, 90% "хорошего" действительно сделали до нас.+ и 100% "плохого" тоже уже сделали до нас. На самом деле, даже больше, потому что неучи, как стадо баранов, продолжают пополнять те 100%, не воспринимая опыт тех 90%
>Проблема в том, что плюсЫ(не знаю как насчет остального) _стимулируют_ писать г-но.
>"С" тоже этим страдает, но в мЕньшей степени.Ну да а ПХП высасывает мозг из талантливых програмистов...
Я когда писал своё первое задание на оном видел много способов написать всё быстро и просто. Однако этот код должен был работать в проекте, и мысля как участник проекта я написал это задание в несколько раз обьёмнее и медленнее, но так, что на него посмотрели и улыбнулись не тупизне реализации, а тому, что "маститые" прогеры скзали, что его таки не надо улучшать - можно пускать уже в таком виде.Да именно из-за того, что люди с идеями, но без понимания концепции получили в своё время интрумент, с которым они справятся, сейчас и происходит дырколатание (но иначе эти проекты могли и не образоваться вовсе). Но лучше б эти люди перед реализацией подучили теорию реализаций и таки написали всё на "простом" языке, чем занялись бы долгой реализацией на "сложном и правильном", хотя в результате получили бы основную часть первичных дефектов дизайна.
Подзакрутил, если кто захочет вникнуть - растолкую. Ничего нового я не написал.
Отличный пост, но не мешало бы на абзацы его разбить
>А вот какую нишу занимает язык Go - лично мне непонятно.Такую же, что и Objective-С -- чуть ли не идеальное средство для своей ниши.
OOPS:
>>А вот какую нишу занимает язык Go - лично мне непонятно.
>Такую же, что и Objective-С -- чуть ли не идеальное средство для
>своей ниши.То есть -- "идеально занимает ту нишу, которую занимает"?
GOTO OOPS;
>GOTO OOPS;)))
Да, тавтология получилась. Пардон.
Я к тому, что Go хорош именно для тех проектов, под которые создаётся. Вот такая синергия. Среда порождает язык, который порождает среду. У Гугл есть своя стратегия в предоставлении услуг потребителю, они ищут как снизить себестоимость услуги и повысить лояльность стада разрабов. Результатом этих поисков и становятся различные специализированные языки. Нельзя создать полноценного культа без выделения собственного языка. Ведь, по правде, продукты Гугля ничем не блещут. Это такие вторые абсолютно серые после Микрософта. Вот и спорят о том, какой оттенок серого более богоугодный. Уже сейчас любой, кто занимается бизнес-анализом в сфере ИТ продукции, скажет вам, что agile-парадигма разработки наиболее рентабельна на массовых рынках. А у Гугля своего массового растиражированного agile-инструмента нет, что является минус в глазах инвесторов.
Поправьте название новости: "Важнейший компонент рекламной кампании языка Go - антиреклама всех остальных языков". Понятно, что ругать конкурентов легче, чем доказать, что твоя разработка их превосходит, да еще на реальном примере, а не в теории...
За антирекламу можно, а главное нужно в суд подать. А то совсем обнаглели в этом вашем Гугле.
Ты отстал из Усть-Урюпинска что ли? Уж года 4-ре как это узаконили в штатах.
>пример кода на C++, в котором объявление переменной заняло почти полную строку экранаможно подумать, на Go такое сделать нельзя...
Вполне может оказаться что нельзя. Но тогда, правда, окажется что объявления будут занимать что-то типа сотни строк (по десятку символов в каждой).
а пример этот на С++ который для обьявления переменной занял у него весь екран
можно сюда продемонтрировать?
>объявление переменной заняло почти полную строку экранаСтроку, а не весь экран
>а пример этот на С++ который для обьявления переменной занял у него
>весь екран
>можно сюда продемонтрировать?Там о java шла речь. Будьте внимательны.
В принципе верно в условиях сегодняшних требований в софтовой промышленности: главное - сроки, а то что за эти сроки можно слепить разве что тормозное bloatware - дело десятое, железо дешевле труда программиста. Грустно...
Хотели общество потребления - получите.
Ну правильно сказал, только вот и Google Go язык не фонтан. Все хотят чего-то быстрого как си, масштабируемого как функциональные языки, простого и лаконичного как Питон. Совместить бы всё в одном языке, да только реально ли это?Сейчас си/си++ не имеет серьёзных конкурентов (к сожалению)
Правильно говорить "сейчас я кроме си/си++ нечего не знаю (к сожалению)".
а что питон или руби или другой какой либо язык кроме C/C++ умеют компилироватся сразу в exe/elf код?
так что бы сразу запустится и работать, без всяких костылевых подпоров ввиде своих же интерпретаторов?
я не упоминаю яву которая вроде как умеет компилироваться сразу в выполняемый asm код
а не JIT
но это мало кто пользуется
или perl который вроде да, тоже умеет компилироватся в тот же исполняемый код
но с использованием все того же своего интепретаторавсе скриптовые языки а также использующие интерпретаторы это не промышленные языки
их нет смысла ни сравнивать ни использовать
таже ява со своей ява машиной, шарп со своим фреймвок дотнетом
это все подпоркивыдумывание новых языков это сечас новомодный бзык с расчетом на будущее
так сказать подсадить на свою иглу
и увековечить себя как создателя на века
а то что такие языки мало пригодны для использования мало кого волновало и будет волновать
все надутые рейтинги базируются на найме черной раб силы - разработчиков
и в таких наемах - разработчики мало решают какой язык выбрать
я более чем уверен что если все зависило от разработчиков
то они бы выбирали C/C++ а не java и C# которые навязываются работодателями
>а что питон или руби или другой какой либо язык кроме C/C++
>умеют компилироватся сразу в exe/elf код?
>так что бы сразу запустится и работать, без всяких костылевых подпоров ввиде
>своих же интерпретаторов?Программа, написанная на "полном" C++, не работает без библиотечной части STL.
Аналогично программа на "полном" C не работает без CRT/libc.
Что с практической точки зрения мало отличается от необходимости наличия
среды исполнения, включающей в себя хоть чёрта лысого - не то что интерпретатор
и компилятор JIT.Да, на C и C++ можно отказаться от части возможностей (составляющей до 80% полезных
для программиста примитивов), остаться в рамках ядра языка и писать код уровня
ядра ОС, к примеру. Но это - специфическая ситуация, которая к описанному
в новости сопоставлению "промышленных языков" не имеет никакого отношения.>все скриптовые языки а также использующие интерпретаторы это не промышленные языки
>их нет смысла ни сравнивать ни использовать
>таже ява со своей ява машиной, шарп со своим фреймвок дотнетом
>это все подпоркиДля системного программиста - подпорка. Для прикладного - нормальный инструмент.
Главное - чтобы код получался понятный и сопровождаемый.>все надутые рейтинги базируются на найме черной раб силы - разработчиков
>и в таких наемах - разработчики мало решают какой язык выбрать
>я более чем уверен что если все зависило от разработчиков
>то они бы выбирали C/C++ а не java и C# которые навязываются
>работодателямиЕсть большая беда - приличный программист на C и C++ зверь редкий, почти вымирающий.
Потому как думать мозгом при программировании задач средней сложности на этих
языках надо раза в два больше, чем на той же Java. Кадровый дефицит-с.Сам бы с удовольствием взял на работу квалифицированного C++ программиста.
Очереди желающих что-то не наблюдается.
>Программа, написанная на "полном" C++, не работает без библиотечной части STL.
>Аналогично программа на "полном" C не работает без CRT/libc.
>Что с практической точки зрения мало отличается от необходимости наличия
>среды исполнения, включающей в себя хоть чёрта лысого - не то что интерпретатор
>и компилятор JIT.вот только вся соль в том что stl+CRT/libc уже идут с ситемой
а яву или донтент нужно доставлять
ах да сдесь можно меня обломать тем что виста/севен уже напичкана поуши дотнетом
вопрос только а нужен ли он?
ответ только что подсказали на wasm
http://russian.joelonsoftware.com/Articles/FireAndMotion.html>Да, на C и C++ можно отказаться от части возможностей (составляющей до 80% полезных
>для программиста примитивов), остаться в рамках ядра языка и писать код уровня
>ядра ОС, к примеру. Но это - специфическая ситуация, которая к описанному
>в новости сопоставлению "промышленных языков" не имеет никакого отношения.ответ о промышленых языках и то что такое примитивы
и нужны ли другие языки когда функционал С/C++ покрывает практически все, кроме ява мобаил
там увы без явы никуда
ответ там же по ссылке выше>Для системного программиста - подпорка. Для прикладного - нормальный инструмент.
>Главное - чтобы код получался понятный и сопровождаемый.для программиста может и инструмент
а для пользователя куча ненужного хлама ввиде ява виртуальной машины либо дотнет фореймворков
где оказывается версия одного другого не поглощает O_oразные программы, разные версии дотнет фреймворка
и уже вся машина захламлена этим никому не нужным дотнетом
ах да разработчик же не думает об этом
им же наплевать на пользователей - по вашим словам главное что бы он задачи быстро решал
а не удолетворял потребности пользователейвся проблема в пользователях((
им то не вдомёк что эти все подпорки оказывается и ненужны
это просто неправильно выбраный метод реализации у заказчика или разработчика>Есть большая беда - приличный программист на C и C++ зверь редкий, почти вымирающий.
>Потому как думать мозгом при программировании задач средней сложности на этих
>языках надо раза в два больше, чем на той же Java. Кадровый дефицит-с.+1
>Сам бы с удовольствием взял на работу квалифицированного C++ программиста.
>Очереди желающих что-то не наблюдается.спросите на rsdn
но зная что там пишут могу передать в двух словах
приходит С++ разработчик на устраиватся
и сразу же попадает под - "щас мы вас обламаем", спрашивается а смысл?
и начинают ему пулят вопросы из С++ стандарта
а скажите нам что написано в главе N.NN С++ стандарта?
ах не знаете! фу! вы не знаете С++, валите отсель.
поэтому многие разработчики С++ устроились писать свои продукты, не отчитываясь перед таким горе работодателями в N строке стандартаэто мне напоминает эпопею с екзаменами в школах
где были вопросы "какое имя у лошади лермонтова"
или "сколько пуговиц у человека на картине в шкафе, при разговоре чичикова с..."
утрирую конечно, полные вопросы на екзаменах и их глупость можно найти в интернете
>вот только вся соль в том что stl+CRT/libc уже идут с ситемой
>
>а яву или донтент нужно доставлять
>ах да сдесь можно меня обломать тем что виста/севен уже напичкана поуши
>дотнетом
>вопрос только а нужен ли он?
>ответ только что подсказали на wasm
>http://russian.joelonsoftware.com/Articles/FireAndMotion.htmlПоскольку все системы разные, то "идут с системой" - не аргумент.
Я могу написать программу на Java, и она будет прекрасно исполняться в практически
любой современной инсталляции, скажем, HP OpenVMS - поскольку Java идёт там
"из коробки". Для исполнения же программы, написанной на C++ и собранной
компилятором G++ там же мне понадобится установить дополнительные пакеты.>ответ о промышленых языках и то что такое примитивы
>и нужны ли другие языки когда функционал С/C++ покрывает практически все, кроме
>ява мобаил
>там увы без явы никуда
>ответ там же по ссылке вышеФункционал "голого" C++ (без STL) не содержит:
- ассоциативных списков
- динамически расширяемых массивов
- алгоритмов сортировки
- средств форматированного ввода-вывода
- ещё до кучи всегоМне трудно представить себе современное крупное *промышленное* приложение,
в котором не требуется всё выше перечисленное.>для программиста может и инструмент
>а для пользователя куча ненужного хлама ввиде ява виртуальной машины либо дотнет
>фореймворков
>где оказывается версия одного другого не поглощает O_oЦе не барское (не пользовательское) дело. Необходимое окружение для работы софта
должен предоставить разработчик (сиречь поставщик ПО). В мире Open Source в этом
смысле ничего не меняется - за нормальную работу пакетов из дистрибутива отвечают
разработчик программы и сопровождающий пакета.>разные программы, разные версии дотнет фреймворка
>и уже вся машина захламлена этим никому не нужным дотнетом
>ах да разработчик же не думает об этом
>им же наплевать на пользователей - по вашим словам главное что бы
>он задачи быстро решал
>а не удолетворял потребности пользователейНормальному пользователю обычно надо ехать, а не шашечки.
Требуется ли там какой-то комплект библиотек для работы программы имярек
или нет - дело IMHO десятое.А вот если что-то не работает или конфликтует с другими программами,
мозг должен напрягаться не у пользователя, а у разработчика.>вся проблема в пользователях((
>им то не вдомёк что эти все подпорки оказывается и ненужны
>это просто неправильно выбраный метод реализации у заказчика или разработчикаЯ иначе понимаю термины "правильно" / "неправильно". Если программа выполняет свою
работу, она - с точки зрения пользователя - правильная. А если разработчик
не может её сопровождать или обеспечить её работоспособность в нужном пользователю
окружении - то такой разработчик неправильный.>спросите на rsdn
>но зная что там пишут могу передать в двух словах
>приходит С++ разработчик на устраиватся
>и сразу же попадает под - "щас мы вас обламаем", спрашивается а
>смысл?
>и начинают ему пулят вопросы из С++ стандарта
>а скажите нам что написано в главе N.NN С++ стандарта?
>ах не знаете! фу! вы не знаете С++, валите отсель.
>поэтому многие разработчики С++ устроились писать свои продукты, не отчитываясь
>перед таким горе работодателями в N строке стандартаЯ могу описать другую ситуацию. Приходит крендель, говорит, что онтипа
разработчик на C++. По ходу разговора обычно выясняется, что данный крендель:
- не различает передачу параметров через ссылку и через указатель
- не понимает, что означает модификатор const
- никогда не писал даже простейших шаблонов
- про STL слышал, никогда не пользовался, всё писал на MFC
- занимался программированием только пользовательского интерфейса, никогда
не разрабатывал сколько-нибудь сложных алгоритмов обработки данных
- имеет крайне смутное представление о многопоточном программированииТак что до обсуждения сложных тем стандарта языка C++ дело, увы, не доходит.
>Поскольку все системы разные, то "идут с системой" - не аргумент.
>Я могу написать программу на Java, и она будет прекрасно исполняться в практически
>любой современной инсталляции, скажем, HP OpenVMS - поскольку Java идёт там
>"из коробки". Для исполнения же программы, написанной на C++ и собранной
>компилятором G++ там же мне понадобится установить дополнительные пакетыя таким же образом могу сравнить какой нибудь unix дистрибутив где нет Java и есть libstd++ и еже с ними
>Функционал "голого" C++ (без STL) не содержит:
> - ассоциативных списков
> - динамически расширяемых массивов
> - алгоритмов сортировки
> - средств форматированного ввода-вывода
> - ещё до кучи всего
>умные люди и STL не используют, и ACE тоже
>Мне трудно представить себе современное крупное *промышленное* приложение,
>в котором не требуется всё выше перечисленноев итоге мы имеет кучу таких современных промышленных приложений
которое имеет в составе за сотню абсолютно не нужных dll и exe
и все для того что бы поддержать что то и "- ещё до кучи всего"хотя некоторые умные люди стараются голый STL вкомпилить в приложение что бы обойти такие казусы - и в чем то они правы
>Це не барское (не пользовательское) дело. Необходимое окружение для работы софта
>должен предоставить разработчик (сиречь поставщик ПО). В мире Open Source в этом
>смысле ничего не меняется - за нормальную работу пакетов из дистрибутива отвечают
>разработчик программы и сопровождающий пакета.
>Нормальному пользователю обычно надо ехать, а не шашечки.
>Требуется ли там какой-то комплект библиотек для работы программы имярек
>или нет - дело IMHO десятое.
>
>А вот если что-то не работает или конфликтует с другими программами,
>мозг должен напрягаться не у пользователя, а у разработчика.не всем пользователям или администраторам наплевать на ресурсы
"давайте побольше RAID побольше еще побольше и еще побольше винчестер"
потому что вот то Г* ПО уже не влазит и тянит за собой что бы установится уже почти весь интернет>Я иначе понимаю термины "правильно" / "неправильно". Если программа выполняет свою
>работу, она - с точки зрения пользователя - правильная. А если разработчик
>не может её сопровождать или обеспечить её работоспособность в нужном пользователю
>окружении - то такой разработчик неправильный.может работу она и выполняет - вопрос только еще как?
при этом отнимает у пользователя много времени и ресурсов, а это в любое время - деньги
>Я могу описать другую ситуацию. Приходит крендель, говорит, что онтипа
>разработчик на C++. По ходу разговора обычно выясняется, что данный крендель:
> - не различает передачу параметров через ссылку и через указательплохо
> - не понимает, что означает модификатор constплохо
> - никогда не писал даже простейших шаблоновплохо
> - про STL слышал, никогда не пользовался, всё писал на MFCплохо что не слышал
> - занимался программированием только пользовательского интерфейса, никогда
>не разрабатывал сколько-нибудь сложных алгоритмов обработки данныхну понятно, клепал GUI
> - имеет крайне смутное представление о многопоточном программированиине так уж и плохо, но на фоне остального минусуется
>Так что до обсуждения сложных тем стандарта языка C++ дело, увы, не доходит
неправильно составляете вакансию
поэтому не те и приходят
из всей толпы советую присматриватся только к тем кто за свой опыт около +3 лет
не смотрят на другие языки кроме С/С++
они смогут адаптироваться, быстрее подучиться
а универсало писателей вида Java/C/C++/Pascal/Lisp/Cobol/Perl/Bash
можете сразу гнать в шею без собеседования
>я таким же образом могу сравнить какой нибудь unix дистрибутив где нет
>Java и есть libstd++ и еже с нимиЧто только подтверждает мой тезис: "есть в системе" - не аргумент.
>умные люди и STL не используют, и ACE тоже
Насчёт ACE не скажу, а неиспользование STL при разработке программ, где возможности
STL востребованы - явная глупость. Переносимость программы между системами можно
обеспечить и не опутывая себя всякими ограничениями по рукам и ногам.>хотя некоторые умные люди стараются голый STL вкомпилить в приложение что бы
>обойти такие казусы - и в чем то они правыОдин из способов получить "портабельный бинарник". Хотя лично мне непонятно,
зачем он вообще нужен. IMHO в коммерческой разработке проще иметь фиксированный
набор поддерживаемых систем и для каждой свой дистрибутив (тестовые системы-то
всё равно для каждой поддерживаемой конфигурации надо иметь, так что сборка
для каждого штатно поддерживаемого варианта не является особо затратной).>не всем пользователям или администраторам наплевать на ресурсы
>"давайте побольше RAID побольше еще побольше и еще побольше винчестер"
>потому что вот то Г* ПО уже не влазит и тянит за
>собой что бы установится уже почти весь интернетЭто сугубо эмоциональная составляющая. На практике есть задача, есть её решение
и есть стоимость решения (во всех смыслах: дисках, процессорах, нервах и силах
админа) - как раз стоимость и определяет, стоит ли связываться с конкретным
решением конкретной задачи.>может работу она и выполняет - вопрос только еще как?
>при этом отнимает у пользователя много времени и ресурсов, а это в
>любое время - деньги+1
Всё определяет соотношение польза/затраты. Игра либо стоит свеч, либо нет.
>неправильно составляете вакансию
>поэтому не те и приходят
>из всей толпы советую присматриватся только к тем кто за свой опыт
>около +3 лет
>не смотрят на другие языки кроме С/С++
>они смогут адаптироваться, быстрее подучиться
>а универсало писателей вида Java/C/C++/Pascal/Lisp/Cobol/Perl/Bash
>можете сразу гнать в шею без собеседованияЧто интересно, если мое собственное резюме рассматривать на вакансию
программиста C++, то я по этим критериям не подойду, поскольку являюсь
(в дополнение к солидному опыту на C++) тем самым универсалом.В принципе и правильно - для простого программиста я хочу слишком
большую зарплату :)
>Что только подтверждает мой тезис: "есть в системе" - не аргумент.на самом деле я отвлекся
хотел показать что наличие в систем в которых есть много библиотек бай дефолт - больше
чем систем в которых нет чего то специфического>Один из способов получить "портабельный бинарник". Хотя лично мне непонятно,
>зачем он вообще нужен. IMHO в коммерческой разработке проще иметь фиксированный
>набор поддерживаемых систем и для каждой свой дистрибутив (тестовые системы-то
>всё равно для каждой поддерживаемой конфигурации надо иметь, так что сборка
>для каждого штатно поддерживаемого варианта не является особо затратной).для разработчика может и незачем
а теперь станте на сторону пользователя у котрого допустим как минимум 20 пакетов разного софта установленного на ПК
и каждый пакет стянул какую то специфическую зависимость
и в итоге мы имеем много ненужных пакетов в зависимостях
где доля нужного в каждом пакете к примеру 1%
а вот при случаях минимум зависимостей а то и вообще "портабельный бинарник"
позволяет получить жирный плюс
и в частности в том что такой "жирный" бинарник легче просто перенести и запустить на другой системе
не заморачиваясь над зависимостями
условно скажем так - поднять функционирования за минимум времени и ресурсов
чем переустанавливая все зависимости итд
>Это сугубо эмоциональная составляющая. На практике есть задача, есть её решение
>и есть стоимость решения (во всех смыслах: дисках, процессорах, нервах и силах
>админа) - как раз стоимость и определяет, стоит ли связываться с конкретным
>решением конкретной задачи.сменю вектор
есть задачи и для решения есть как раз таки много этих ПО
все разные
но ооочень ресурсоемкие - потому что не правильно выбран метод разработки
в итоге админ к примеру понимая что его задачу могла бы решить программа которая занимает 1мегабат но ее нет в природе
приходится ставить много ненужного ПО которое бы позволило решить эту задачу
>Что интересно, если мое собственное резюме рассматривать на вакансию
>программиста C++, то я по этим критериям не подойду, поскольку являюсь
>(в дополнение к солидному опыту на C++) тем самым универсалом.оффшор вас будет любить)))
на практике конечно каждый к примеру C/C++ программист
немного знает либо легко читает на уровне понимания SQL/Perl/Bash/Tcl/Java/...
но в резюме по уму мало кто это офиширует
в не худшем виде часто можно встретить C++/Java резюме
но это лучше чем каша приведеная выше
>на самом деле я отвлекся хотел показать что наличие в систем в которых
>есть много библиотек бай дефолт - больше чем систем в которых нет
>чего то специфическогоВ принципе согласен.
>[оверквотинг удален]
>и каждый пакет стянул какую то специфическую зависимость
>и в итоге мы имеем много ненужных пакетов в зависимостях
>где доля нужного в каждом пакете к примеру 1%
>а вот при случаях минимум зависимостей а то и вообще "портабельный бинарник"
>позволяет получить жирный плюс
>и в частности в том что такой "жирный" бинарник легче просто перенести
>и запустить на другой системе
>не заморачиваясь над зависимостями
>условно скажем так - поднять функционирования за минимум времени и ресурсов
>чем переустанавливая все зависимости итдДля меня это сферический пользователь в вакууме. Как-то больше приходится
сталкиваться с другой ситуацией - технический персонал заказчика при установке
софта на новое рабочее место всё ставит с нуля и хочет простую и желательно
неизменную процедуру установки всего и вся. Для стандартного софта (ну конечно
MS Windows + MS Office + Adobe Reader + Adobe Flash) такая процедура у них
отработана, для всего самописного они её требуют с подрядчика-разработчика.Да, я махровый проприетарщик :)
>сменю вектор
>есть задачи и для решения есть как раз таки много этих ПО
>все разные
>но ооочень ресурсоемкие - потому что не правильно выбран метод разработки
>в итоге админ к примеру понимая что его задачу могла бы решить
>программа которая занимает 1мегабат но ее нет в природе
>приходится ставить много ненужного ПО которое бы позволило решить эту задачуВсем хочется найти идеальное компактное решение именно своей проблемы.
К сожалению, часто именно нужная проблема решается побочно как часть функционала
мега-монстро-пакета прогамм для всего и вся. C'est la vie, как говорят французы.>оффшор вас будет любить)))
Да ну его с его любовью.
>на практике конечно каждый к примеру C/C++ программист
>немного знает либо легко читает на уровне понимания SQL/Perl/Bash/Tcl/Java/...
>но в резюме по уму мало кто это офиширует
>в не худшем виде часто можно встретить C++/Java резюме
>но это лучше чем каша приведеная вышеРазумно. Типичная "каша", которую приходится видеть мне, выглядит так:
C++ / Delphi / SQL
Кстати, не всегда это клиника. Иногда попадаются и разумные люди - но редко :(
>Типичная "каша", которую приходится видеть мне, выглядит так:
>C++ / Delphi / SQLА почему "каша"? Имхо как раз все очень логично. Кресты и делпхи - на десктопе языки примерно одного уровня (только без холиворов). Плюс sql указывает на опыт работы с БД - тоже везде сейчас.
>А почему "каша"? Имхо как раз все очень логично. Кресты и делпхи
>- на десктопе языки примерно одного уровня (только без холиворов). Плюс
>sql указывает на опыт работы с БД - тоже везде сейчас.В контексте личного жизненного опыта конкретного программиста может и логично.
Только нам он с таким опытом годится максимум в стажеры, а зарплату он хочет
совсем не стажерскую.
>В контексте личного жизненного опыта конкретного программиста может и логично.
>Только нам он с таким опытом годится максимум в стажеры, а зарплату
>он хочет
>совсем не стажерскую.Поясни, пожалуйста, каким должен быть идеальный личный жизненный опыт программиста, чтобы он мог претендовать на нормальное отношение? Складывается впечатление, что правильный ответ: "C++/C++/C++/C++". Я что-то упускаю?
>Поясни, пожалуйста, каким должен быть идеальный личный жизненный опыт программиста,
>чтобы он мог претендовать на нормальное отношение? Складывается впечатление, что
>правильный ответ: "C++/C++/C++/C++".
>Я что-то упускаю?В нашем случае идеальным было бы нечто типа:
* C++
* POSIX threads & signals
* Berkeley sockets
* Korn Shell
* Oracle SQL, PL/SQLОстальному можно легко, приятно и быстро научить :)
> * C++
> * POSIX threads & signals
> * Berkeley sockets
> * Korn Shell
> * Oracle SQL, PL/SQL
>А я-то думал, что мы об опыте в языках говорим.
>Остальному можно легко, приятно и быстро научить :)
А после "C++/Delphi/SQL" уже нельзя?
>А я-то думал, что мы об опыте в языках говорим.Если ограничить рассмотрение только языками, то требуется знание C++ (в его
полном виде, с шаблонами и готовыми примитивами STL) и всё тот же Korn Shell.В реальной же работе одних языков маловато :)
>А после "C++/Delphi/SQL" уже нельзя?
Можно. Но труднее, неприятнее и намного дольше.
чтот я не понял чем Java оказался сложен, да и строки на сях столь ужасной в статье не продемонстрировано
Деградация людей продолжается... к сожалению,данные высказывания говорят скорее о сложностях и неудобстве человеческого восприятия языков программирования, чем о недостатках языков...
если бы тебе удалось "деградировать" хотя бы на одну сотую по шкале пайка, ты был бы аккуратней в подобных высказываниях.
Может я несколько однобок в понимании этой статьи, но так уж понимаю... Да, есть неиспользуемые сущности в языках программирования, но это лишь расширяет возможности, к сожалению или к счастью, неиспользуемые в пользователями языков...
Ну не человеческий подход ООП - человек легче воспринимает различия, а не схожесть объектов. Человеческому сознанию ближе линейные алгоритмы и лямбда-исчисления. Так мне кажется...
Ну и считаю, что идеальным по функциональности будет язык - гипотетическая смесь Си, Эрланга, Хаскелла и Оберона, но сложно найти эффективное соотношение возможностей этих языков...
P.S. Не обижайтесь на субъективность моих подходов - я просто Человек.
>Человеческому сознанию ближе линейные алгоритмы и лямбда-исчисленияДа вот только они не поддаются структурной декомпозиции, а потому что-либо сложное на них написать в рамках распределения обязанностей вряд ли получиться.
>Ну не человеческий подход ООП - человек легче воспринимает различия, а не
>схожесть объектов. Человеческому сознанию ближе линейные алгоритмы и лямбда-исчисления.Разве в ООП главное - это схожесть объектов? По мне - как раз наоборот. Повторения, любая схожесть должна быть устранена. Должны остаться только узкоспециализированные (SRP) отличающиеся друг от друга классы. Наследование = специализация, т.е. опять отличия. Разве нет?
>Разве в ООП главное - это схожесть объектов?На мой взгляд, главное в ООП, прежде всего, возможность иерархической декомпозиции представления предметной области.
http://www.youtube.com/watch?v=5kj5ApnhPAEПро объявление переменной на пол-экрана. Это был премер не на Си++, а на Джаве, поправьте.
По теме. Согласен с Пайком. С++ - костыль для С, а Джава - новая модель этого костыля. Примеры действительно прикольные, например new Integer(80) или Boolean.TRUE (как будто TRUE может быть какого-то другого типа, кроме Boolean... :)) И это промышленные языки.
s/премер/пример/
а что сразу не написал: си - костыль для ассемблера?
Потому, что это не соответствует действительности.
А то что С++ - костыль для С - значит соответствует? :-))) Если не осилил С++ - нефиг ругать язык.
Таки да, соответствует. :) Си и Си++ - языки одного уровня, а ассемблер - другого. Это раз. Два - Си++ был задуман именно как "улучшение" Си. Страуструп взял Си, потому что тот был тогда наиболее широко распространенным языком, и прикрутил к нему классы из Симулы. То есть, костыль в чистом виде. Потом пытались недостатки Си исправлять путем добавления собственных недостатков. И теперь мы имеем то, что имеем...
поправочка
не потому что СИ был распрастраненный
а потому что многие программисты СИ видели что многие вещи на СИ можно упростить и даже улучшить имея функционал Симулы (хотя мне помнится это был Смаллталк не?ошибаюсь)
>не потому что СИ был распрастраненныйВ _том_числе_ потому, что Си был распространенным. http://en.wikipedia.org/wiki/C%2B%2B
"C was chosen because it was general-purpose, fast, portable and widely used."
я вас удивлю
но википедию заполняют такие же люди как и мы с вами
а не сам страуструп
поэтому ссылку на нее мне не интересна
дайде выдержку из книги самого страуструпа
Нет уж. Теперь ваша очередь давать ссылки, подтверждающие _ваше_ утверждение:>не потому что СИ был распрастраненный
соответствует действительности лишь то, что калеки считают костылями языки программирования.
при всем моём неуважении к яве и шарпу, я не считаю эти языки костылями, они просто не удовлетворяют меня по другим параметрам. другие, так сказать, программеры не видя ничего, кроме языка, который учили в ВУЗе или ПТУ, не сравнивая ни с чем другим, делают однозначные заявления, не являющиеся объективными и правдивыми. тому пример - трухин и ему подобные.
может и не костыли
_но_если расставить по порядку с правилом
язык -> результирующий код для процессора
то получится такая структура1 C/C++
2 Java/C#
3 остальные скриптовые языкипоэтому те кто сравнивает и ставит на одну ступень C/C++ и Java и C#
просто слабошарящие программистыps
не могу не заметить отсутсвие тролей и школоты в новостях
видимо папы и мамым забрали детей в гагры позагорать
:-D
Ну это только "особо одаренные" будут на java писать "new Integer(80) или Boolean.TRUE" вместо обычных 80 и true.
>Ну это только "особо одаренные" будут на java писать "new Integer(80) или
>Boolean.TRUE" вместо обычных 80 и true.Тем не менее, так пишут разработчики одного из проектов, который хостится на Google Code.
http://www.koders.com/java/fidB06FBCC2814B5066CF711C635ADBBC...
Код 2001 года (9 лет прошло, ребята). Соответствует спецификации Java 1.4, вполне корректный, но не использует приятные упрощения, реализованные в Java за прошедшие 9 лет.
То есть, в 2001 году, кроме как new Integer(80) и Boolean.TRUE, это больше никак записать нельзя было??? Оо
>То есть, в 2001 году, кроме как new Integer(80) и Boolean.TRUE, это
>больше никак записать нельзя было??? ОоЛикбез started:
Для целей оптимизации производительности в Java есть возможность работать
с примитивными типами "необъектным" способом. Скажем, арифметические операции
выполняются над примитивными типами (int, long, float, ...), логические -
над типом boolean.Специфика примитивных типов состоит в том, что на них нельзя получить ссылку,
что создаёт возможности для ряда важных оптимизаций. Указателей же в Java,
как мы знаем, нет (костыль!).Для каждого примитивного типа определён симметричный объектный тип-контейнер,
на который таки можно получить ссылку, и экземпляр которого хранит ровно одно
значение соответствующего примитивного типа.Сиречь:
// Переменной присвоили значение 80
int n1 = 80;
// Создали объект-контейнер для целочисленного значения 80
Integer n2 = new Integer(n1);// Булевой переменной присвоили результат сравнения двух целых чисел
boolean b1 = (n1 == 80);
// Создали объект-контейнер для булевого значения true
Boolean b2 = new Boolean(b1);
// А затем присвоили значение "ссылка на ложь".
b2 = Boolean.FALSE;Начиная с Java 1.5, в язык был добавлен синтаксический сахар "автобоксинга",
который позволяет ссылаться на значения примитивных типов как на объекты без
явного создания контейнеров.
>[оверквотинг удален]
> // Булевой переменной присвоили результат сравнения двух целых чисел
> boolean b1 = (n1 == 80);
> // Создали объект-контейнер для булевого значения true
> Boolean b2 = new Boolean(b1);
> // А затем присвоили значение "ссылка на ложь".
> b2 = Boolean.FALSE;
>
>Начиная с Java 1.5, в язык был добавлен синтаксический сахар "автобоксинга",
>который позволяет ссылаться на значения примитивных типов как на объекты без
>явного создания контейнеров.OMG! Все-таки прав Пайк. Он там назвал эти языки "бюрократическими". Чистая бюрократия! Лучше бы указатели сделали, чесслово...
На примитивы уже давно можно ссылаться как на объекты. Так что Пайк лукавит в своей презентации.
>По теме. Согласен с Пайком. С++ - костыль для СЭто поверхностное мнение. Вы явно не умеете пользоваться возможностями C++.
> а Джава - новая модель этого костыля.
Java - действительно костыль. Он позволяет брать на работу не шибко умных и не особо
напрягающихся программистов, и при этом получать с них пользу.> new Integer(80)
В современном Java можно написать и так:
final Integer val = 80;
Наличие такой формы - особенность, которая никому не мешает.>или Boolean.TRUE (как будто TRUE может быть какого-то другого типа, кроме
>Boolean... :))TRUE, в отличие от true, может быть любого типа по выбору программиста.
Например:final String TRUE = "Истина, мамой клянусь!";
final String FALSE = "Ложь греховная.";> И это промышленные языки.
Ага. В отличие от языка Go, их создатели неоднократно сталкивались с суровой
реальностью промышленных применений и вынуждены были придумать массу решений
для проблем, о которых создатели новых модных языков никогда не слышали.
>Вы явно не умеете пользоваться возможностями C++.Более того - не собираюсь. Уметь пользоваться _всеми_ возможностями С++ может только человек, специально задавшийся такой целью, а это может быть только псих или бездельник. Я ни то ни другое :) Тем более, что знание возможностей С++ плохо помогает там, где проблемно-ориентированный язык все равно справляется лучше.
> Уметь пользоваться _всеми_ возможностями С++ может только человек,
> специально задавшийся такой целью, а это может быть только псих или бездельник.Есть некая разница между *всеми* возможностями и набором конструкций, который
разработчики языка специально готовили для систематического применения широким
кругом пользователей. В случае C++ этот набор немножко сложноват для комфортного
размещения в типичной программистской голове, увы.> Тем более, что знание возможностей С++ плохо помогает там,
>где проблемно-ориентированный язык все равно
>справляется лучше.Проблемно-ориентированный язык всегда лучше универсального языка справляется
с задачами, для которых он был специально разработан. Другое дело, что областей,
сложность и потребности в автоматизации которых стоит создания для них
предметно-ориентированного языка, не так много. И разработкой программного
обеспечения в таких областях обычно занимаются не профессиональные программисты,
а специалисты предметной области, обученные в достаточной степени программированию.
>Есть некая разница между *всеми* возможностями и набором конструкций, который
>разработчики языка специально готовили для систематического применения широким
>кругом пользователей. В случае C++ этот набор немножко сложноват для комфортного
>размещения в типичной программистской голове, увы.Ах, вот как. То есть, это вы меня записали в "типичные програмистские головы". :) Теперь логика вашего утверждения ясна, но ваш вывод опять же не в пользу С++.
>
>Проблемно-ориентированный язык всегда лучше универсального языка справляется
>с задачами, для которых он был специально разработан. Другое дело, что областей,
>
>сложность и потребности в автоматизации которых стоит создания для них
>предметно-ориентированного языка, не так много. И разработкой программного
>обеспечения в таких областях обычно занимаются не профессиональные программисты,
>а специалисты предметной области, обученные в достаточной степени программированию.Областей немного? Вам явно не мешало бы расширить кругозор. Областей как раз очень много, иначе не существовало бы такого огромного количества проблемно-ориентированных языков. Более того, даже "чистое" программирование состоит из областей, зачастую непересекающихся. Например, системный программист и программист баз данных - извините, две разные профессии.
>Например, системный программист и программист баз данных - извините, две разные
>профессии.
>расскажите нам про программирование на обьектном языке именуемым - язык баз данных
это типа триггеры писать на SQL? или что
уууу как вы однако уважаемый далеки от реальности
>Ах, вот как. То есть, это вы меня записали в "типичные програмистские
>головы". :) Теперь логика вашего утверждения ясна, но ваш вывод опять
>же не в пользу С++.Я не перехожу на личности. О вас мне ничего не известно, соответственно,
я не делаю никаких выводов о вашей голове.
>Областей немного? Вам явно не мешало бы расширить кругозор. Областей как раз
>очень много, иначе не существовало бы такого огромного количества
>проблемно-ориентированных языков.У меня складывается впечатление, что мы с вами имеем в виду разные вещи.
Мне известны предметно-ориентированные языки для примерно следующего набора областей:
- строительства и смежной инженерии (обычно используются всякие специализированные
и расширенные диалекты Lisp)
- проектирования электронных плат
- автоматизации документооборота
- робототехники (в ту же область попадают среды программирования промышленных станков)
- управления пакетной обработкой данных
В других областях ничего, достойного именоваться "предметно-ориентированным языком", мне сходу припомнить не удаётся.Так где же "очень много областей"? В пределах 10 - не так уж много.
>Более того, даже "чистое" программирование состоит из областей, зачастую >непересекающихся. Например,
>системный программист и программист баз данных - извините, две разные профессии.Обоим полезно знать синтаксис и семантику наиболее распространённых языков
программирования общего назначения, поскольку и там, и там они применяются.
Ну разве что системному программисту можно не знать SQL и смежные с ним диалекты.
>О вас мне ничего не известноНо, тем не менее, вы почему-то утверждаете, что я явно не умею пользоваться возможностями C++.
>[оверквотинг удален]
> - автоматизации документооборота
> - робототехники (в ту же область попадают среды программирования промышленных
>станков)
> - управления пакетной обработкой данных
>В других областях ничего, достойного именоваться "предметно-ориентированным языком", мне сходу припомнить не
>удаётся.
>
>Так где же "очень много областей"? В пределах 10 - не так
>уж много.
>Насколько я помню, под "проблемно-ориентированным языком" всегда подразумевался "язык программирования, предназначенный для решения определенного класса задач". При этом не важно, используется ли этот язык для автоматизации какого-либо процесса или для решения узко-специальных программистских задач. Кроме "проблемно-ориентированных" языков иногда различают "машинно-ориентированные" и "универсальные" языки: http://mirslovarei.com/content_soc/JAZYK-PROGRAMMIROVANIJA-5...
>>Более того, даже "чистое" программирование состоит из областей, зачастую >непересекающихся. Например,
>>системный программист и программист баз данных - извините, две разные профессии.
>
>Обоим полезно знать синтаксис и семантику наиболее распространённых языков
>программирования общего назначения, поскольку и там, и там они применяются.
>Ну разве что системному программисту можно не знать SQL и смежные с
>ним диалекты.Разумеется, иметь широкий кругозор всегда полезно, но вовсе необязательно для решения узкоспециальных задач. И там, где используется Perl, С++ будет гораздо менее удобен, а там где используется SQL, С++ будет почти бесполезен.
>Разумеется, иметь широкий кругозор всегда полезно, но вовсе необязательно для решения
>узкоспециальных задач. И там, где используется Perl, С++ будет гораздо менее удобен, а
>там где используется SQL, С++ будет почти бесполезенмежду прочим
Perl был придуман системными администраторами которые не знали языков программирования
но им нужно было реализовывать минимальный функционал в администрировании
многие же системные администраторы которые знают С++, задачи Perl решают гораздо еффективнее на С++на том же rsdn
есть другой пример
где функционал то ли на 'мая' толи на 'матлаб' (увы непомню:( )
был не достаточно быстр
и была у человека необходимость переписать это на С++с SQL конечно такого фокуса не получится
>между прочим
>Perl был придуман системными администраторами которые не знали языков программирования
>но им нужно было реализовывать минимальный функционал в администрированииОо Вы хотели сказать "_для_ системных администраторов"? Представил себе Ларри Уолла, который не знал языков программирования, но создал Перл... :)
>многие же системные администраторы которые знают С++, задачи Perl решают гораздо еффективнее
>на С++Ну давайте ваши задачи. Посмотрим, как они были реализованы на С++ и как на Перле, и выясним, действительно ли задачи Перла можно эффективнее решать на С++.
>на том же rsdn
>есть другой пример
>где функционал то ли на 'мая' толи на 'матлаб' (увы непомню:( )
>
>был не достаточно быстр
>и была у человека необходимость переписать это на С++
>
>с SQL конечно такого фокуса не получитсяНу, естественно, быстрее всего получается писать на том языке, который _знаешь_ :)
>Оо Вы хотели сказать "_для_ системных администраторов"? Представил себе Ларри Уолла,
>который не знал языков программирования, но создал Перл... :)лари был ленив
многие не ленивые администраторы решают задачи на С/С++
не заморачиваясь на Perl>Ну давайте ваши задачи. Посмотрим, как они были реализованы на С++ и как на Перле, и
>выясним, действительно ли задачи Перла можно эффективнее решать на С++.задача "по telnet зайти и выполнить определенные команды"
на Perl ~15 строк
на C теже ~15 строк
какой спросите профит?
обыкновенный
представим роутер в котором нет задач для Perl
и дежать Perl только для 15строк невыгодно и не економно,
а в некоторых случая и ресурсоемко
задача решена на C/C++ была более эффективнее
задача с роутером была на DD-WRT роутере
так же другого рода задачи появлялись и на других серверах в глобальном вебхостинге
где нет смысла держать Perl, когда все быстрее решается на С/C++ps надеюсь то что задача была решена на С а не на С++ вас не сильно разочарует?
>Ну, естественно, быстрее всего получается писать на том языке, который _знаешь_ :)человек который хотел переписать на С++ его плохо знал, но хорошо знал мая/матлаб
и хотел что бы ему переписали все на С++ с ипользованием CUDA
потому что в оригинале мая или матлаб - опять же не помню
все это вычислял очень медленноесть желание? оригинал этого поищите на rsdn
увы линка просто не помню :(
>лари был ленив
>многие не ленивые администраторы решают задачи на С/С++
>не заморачиваясь на PerlХа. Еще скажите, что люди, которые ездят на работу на другой конец города на машине, делают это потому, что ленятся ходить пешком.
>представим роутер в котором нет задач для Perl
Э, нет, так не пойдет. Давайте еще возьмем раутер у которого вообще 8К ОЗУ и на котором ничего написанное кроме как на ассемблере вообще не запустится. Что, скажем тогда, что ассемблер решает перловые задачи лучше чем Перл? Нужно сравнивать эти продукты в _нормальных_ для каждого из них условиях.
>Э, нет, так не пойдет. Давайте еще возьмем раутер у которого вообще 8К ОЗУ и на котором
>ничего написанное кроме как на ассемблере вообще не запустится. Что, скажем тогда, что
>ассемблер решает перловые задачи лучше чем Перл? Нужно сравнивать эти продукты в
>_нормальных_ для каждого из них условиях.ниже я привел что сталкивался не единоразово и на хостинг серверах
с задачами которые Си решал намного еффективнее чем Perl
но вы видимо проигнорировали мой ответ
и просто вцепились за первое попавшееся словоиз другого вида задач с которыми приходилось сталкиватся это regexp
который perl отрабатывает необычайно медленно и ресурсоемко
поэтому приходилось переписывать на Сибыли и задачи третьего вида и четрвертого
были и прокси сервера писаные на perl, которые сьедали всю оперативку и падали
но это уже другая история
если вы захотите к чему то прицепится вы и в словах выше найдете свое
>ниже я привел что сталкивался не единоразово и на хостинг серверах
>с задачами которые Си решал намного еффективнее чем Perl
>но вы видимо проигнорировали мой ответ
>и просто вцепились за первое попавшееся словоВы привели некорректное сравнение. Там, где держать Perl "невыгодно и не економно", Perl проигрывает _по_определению_.
>
>из другого вида задач с которыми приходилось сталкиватся это regexp
>который perl отрабатывает необычайно медленно и ресурсоемко
>поэтому приходилось переписывать на Си
>То же самое. Если первостепенная задача - сэкономить ресурсы и выполнить программу максимально быстро, Перл тут явно не подходит. Не для того он создавался. А вот если Перлу предостаточно столько ресурсов, сколько _ему_требуется_, и скорость выполнения скрипта не слишком критична (как обычно и бывает в админских задачах), до регекспы писать на нем на два порядка удобнее и быстрее, чем на Си.
>были и задачи третьего вида и четрвертого
>были и прокси сервера писаные на perl, которые сьедали всю оперативку и
>падали
>но это уже другая история
>если вы захотите к чему то прицепится вы и в словах выше
>найдете своеНу, писать прокси-сервер на Перле - это, скажем так, эксцентрично. :) Не удивительно, что он неэффективно работает.
>из другого вида задач с которыми приходилось сталкиватся это regexp
>который perl отрабатывает необычайно медленно и ресурсоемко
>поэтому приходилось переписывать на СиПервый раз слышу подобную ахинею. Вы же понимаете, что регэкспы Перла - это ТАКИЕ ЖЕ СИ-ШНЫЕ МОДУЛИ? Поэтому они ну никак не медленнее тех же модулей, но вызванных из Си.
Другой вопрос (это я предполагаю), что вы полезли в грамматики, под которые регэкспы просто не предназначены и конечно же, тупой конечный автомат выйграл! Ну так это вам минус за низкую квалификацию.>были и задачи третьего вида и четрвертого
>были и прокси сервера писаные на perl, которые сьедали всю оперативку и падалиыыы :) ДВА МИНУСА.
Так бестолково писать на Перле - лучше вообще уйти в управдомы. Перл подкупает своей простотой, но это не избавляет от ИЗУЧЕНИЯ Перла как языка - по всем строгостям, от синтаксиса, до подводных камней и особенностей реализации. То, что какой-то пижон прыгнул с Си в Перл, купившись на похожий синтаксис, ещё не означает, что Перл - плохой.По иронии судьбы, я тоже в своё время писал прокси (резать рекламу). Всё работало замечательно, окромя тупой реализации трэдов от ActiveState - пришлось похоронить. (писал я для винды) Есессно, от живого Перла там было ничтожно мало - сплошь системные вызовы и библиотеки. Поэтому постоянно удивляюсь тем, у кого "Перл тормозит" - в зеркало они ещё не глядели? :)
а вот и защитники perl подтянулись
но с>Участник: Кодир
>Тип: Аноним
>Рейтинг: -272 баллов
>Репутация: +24/-24 голосовс таким рейтингом помалкивали бы
замечу, что я не программист perl
я выправлял глюки предыдущего горе perl админа
который срубал ЗП, и ничего не делал>Так бестолково писать на Перле - лучше вообще уйти в управдомы.
это был опенсоурс проект которые многие ставят у себя
я как С/C++ программист просто выкинул это Г>Вы же понимаете, что регэкспы Перла - это ТАКИЕ ЖЕ СИ-ШНЫЕ МОДУЛИ?
ЧСВ овер 12000
еще выше чем у ВДНХ
во первых я знаю как perl работает с C
во вторых кроме regexp там было много и другого кода, но вы как и второй троль джейсон видите только те слова к которым можете дать свои глупые комментарии, что бы поднять свое ЧСВучитесь читать весь текст
> многие не ленивые администраторы решают задачи на С/С++ не заморачиваясь на PerlНе ленивые администраторы знают и умеют инструментарий никсов, который позволяет обходиться простым sh. Почти всегда. Но для этого нужно знать и уметь.
>> многие не ленивые администраторы решают задачи на С/С++ не заморачиваясь на Perl
>
>Не ленивые администраторы знают и умеют инструментарий никсов, который позволяет обходиться простым
>sh. Почти всегда. Но для этого нужно знать и уметь.гвозди можно забивать любым удобным инструментом
даже лопатой
но лучше всего получается их забивать молоткомах о чем это я
конечно можно использоватся и sh или perl
все зависит от задачи
но большиство задач с которыми я сталкивался и их решениям
администраторы упорно решали на perl
при этом этот perl сьедал много памяти и ресурсов
иногда даже падалможно наверное подумать что те администраторы которые использовали perl его не шибко хорошо знали
но теже задачи решеные с знанием начинающих Сишников, были решены более эффективнееperl или sh в большем случае было для таких администраторо быстрым и дешевым решением поставленых задач
а один из админов мне как то так и заявил
мол - а чего я должен что то делать хорошо даже с использованием Си, если мне "как он считает" мало платят
>задача "по telnet зайти и выполнить определенные команды"
>на Perl ~15 строк
>на C теже ~15 строк
>какой спросите профит?Всё зависит от типа задачи и сути использования. Сегодня ты сделал 15-строчный код, который тупо посылает в _сокет_ хардкоженные команды. Завтра приходит босс и выясняется:
1. Команды должны быть шаблонными (подставлять значения из ввода пользователя), да ещё браться из конфига.
2. Посылать надо не в сокет, а в БД, где они достаются, раскрываются шаблоны и посылаются в сокет.
3. Попутно на каждые 100 команд надо отсылать почту с уведомлением.И вот тут ваши Си-шные 15 строк превращаются... в мусор! Ибо полностью непригодны для адаптации под новые условия.
Перл не зря назван ВЫСОКОУРОВНЕВЫМ - если вы понимаете значение этого слова, вы никогда не станете сравнивать Перл и Си.
>И вот тут ваши Си-шные 15 строк превращаются... в мусор! Ибо полностью
>непригодны для адаптации под новые условия.А как это решалось бы на перле? Ну, хотя бы в общих чертах?
>А как это решалось бы на перле? Ну, хотя бы в общих
>чертах?В лоб бы и решалось. Перл это позволяет. На сях пришлось бы изрядно поприседать.
>Но, тем не менее, вы почему-то утверждаете, что я явно не умею
>пользоваться возможностями C++.Вы это демонстрируете собственными оценками: "С++ - костыль для С".
>Насколько я помню, под "проблемно-ориентированным языком" всегда подразумевался
>"язык программирования, предназначенный для решения определенного класса задач".
>При этом не важно, используется ли этот язык для автоматизации какого-либо
>процесса или для решения узко-специальных программистских задач.Я не считаю правильным причислять к полноценным языкам программирования синтаксисы
конфигурационных файлов, узкоспециальные скриптовые диалекты и т.п.>Разумеется, иметь широкий кругозор всегда полезно, но вовсе необязательно для
>решения узкоспециальных задач. И там, где используется Perl, С++ будет гораздо
>менее удобен, а там где используется SQL, С++ будет почти бесполезен.Про Perl не согласен. Единственная сильная сторона Perl - наличие большого количества
людей, знающих его синтаксис и ленящихся запускать компилятор :)SQL и C (либо C++) замечательно сочетаются. Скажем, все современные СУБД позволяют
писать на C и C++ хранимые процедуры.
>Скажем, все современные СУБД позволяют писать на C и C++ хранимые процедуры.Это о каких СУБД идет речь? Хранимые процедуры или UDF?
>Это о каких СУБД идет речь? Хранимые процедуры или UDF?Ну DB2 хотя бы. Аналогичного эффекта можно добиться в PostgreSQL и Oracle, хотя
и с некоторыми дополнительными плясками с бубном.А UDF можно действительно где угодно писать.
>Вы это демонстрируете собственными оценками: "С++ - костыль для С".Я не просто "демонстрирую оценки", а привожу вполне убедительные аргументы. Страуструп взял статую Венеры Милосской и приделал ей руки. Чистой воды костылизм. Если нужно было создать инструмент, работающий с данными на абстрактном уровне, зачем было тащить за собой все низкоуровневое наследие Си? В результате абстрактных структур данных мы так толком и не имеем, и каждый фреимворк изобретает собственные велосипеды в виде классов List, Matrix, Vector и т.д...
>Я не считаю правильным причислять к полноценным языкам программирования синтаксисы
>конфигурационных файлов, узкоспециальные скриптовые диалекты и т.п.Термин "полноценные языки программирования" в вычислительной технике мне не знаком.
>Про Perl не согласен. Единственная сильная сторона Perl - наличие большого количества
>
>людей, знающих его синтаксис и ленящихся запускать компилятор :)Ну, это звучит как-то по-детски. Действительно похоже на "С++ - единственно правильный, потому что я не осилил ничего другого" :)
>
>SQL и C (либо C++) замечательно сочетаются. Скажем, все современные СУБД позволяют
>
>писать на C и C++ хранимые процедуры.В том-то и дело, что _сочетаются_, а не _заменяются_. Использовать разные инструменты в разных областях - нормальная практика.
>Я не просто "демонстрирую оценки", а привожу вполне убедительные аргументы.Если и убедительные, то не для меня.
>Страуструп взял статую Венеры Милосской и приделал ей руки.
Вы очень высоко оцениваете художественный уровень языка C.
>Чистой воды костылизм. Если нужно было создать инструмент, работающий
>с данными на абстрактном уровне, зачем было тащить за собой все
>низкоуровневое наследие Си?Ровно потому, что над низкоуровневыми возможностями всегда очень хочется
надстроить удобный абстрактный интерфейс. И C++, среди прочего, позволяет
это сделать, не привлекая посторонних средств.Для сравнения, чтобы делать что-то подобное на Java, Python или Perl,
нужно написать отдельный программный модуль на другом языке (C),
да ещё в соответствии со специальными правилами, заданными спецификой
применяемой языковой среды. Кто писал и сопровождал JNI-библиотеки,
тот поймёт.Кстати, разумно и удобно организован процесс расширения низкоуровневыми
алгоритмами разве что в Perl, который по моим наблюдениям процентов на
50 состоит из таких боковых "костылей" - для обеспечения пристойной
производительности.>В результате абстрактных структур данных мы так толком и не имеем,
>и каждый фреимворк изобретает собственные велосипеды в виде классов
>List, Matrix, Vector и т.д...Це еретики, которых правильно было бы отправить в топку.
Самый правоверный набор примитивов - STL + boost, всё остальное - извращение.>Термин "полноценные языки программирования" в вычислительной технике мне не знаком.
Глупо сравнивать с одних и тех же позиций C++, M4 и SQL. Равно как и Haskell и Prolog.
Изначально дискуссия шла об универсальных императивных языках программирования,
иначе вести разговор о Java, C#, Perl, C++ и рекомом Go вообще бессмысленно.Это к вопросу о терминах.
>Ну, это звучит как-то по-детски. Действительно похоже на "С++ - единственно
>правильный, потому что я не осилил ничего другого" :)На самом деле у Perl и C++ сходная проблема - на них легко написать груду мусора
вместо нормального кода. IMHO именно Perl - в своей области применения - должен был
бы иметь жёсткий, обязательно многословный и безвариантный синтаксис. Чтобы написанное
всегда однозначно читалось и не требовало выстраивать в голове конечный автомат
для разбора очередной строки маловнятных символов.
>>Страуструп взял статую Венеры Милосской и приделал ей руки.
>
>Вы очень высоко оцениваете художественный уровень языка C.Это метафора. Я Си тоже не считаю шедевром, но в своей нише он работает более-менее сносно.
>
>>Чистой воды костылизм. Если нужно было создать инструмент, работающий
>>с данными на абстрактном уровне, зачем было тащить за собой все
>>низкоуровневое наследие Си?
>
>Ровно потому, что над низкоуровневыми возможностями всегда очень хочется
>надстроить удобный абстрактный интерфейс. И C++, среди прочего, позволяет
>это сделать, не привлекая посторонних средств.Проблема в том, что нельзя создать инструмент, которым одинаково хорошо можно было бы забивать сваи и подковывать блоху - что-то всегда будет за счет другого. Это не я придумал. Специализация, разделение труда и пресловутый Юникс-вей известны давно.
>[оверквотинг удален]
>нужно написать отдельный программный модуль на другом языке (C),
>да ещё в соответствии со специальными правилами, заданными спецификой
>применяемой языковой среды. Кто писал и сопровождал JNI-библиотеки,
>тот поймёт.
>
>Кстати, разумно и удобно организован процесс расширения низкоуровневыми
>алгоритмами разве что в Perl, который по моим наблюдениям процентов на
>50 состоит из таких боковых "костылей" - для обеспечения пристойной
>производительности.
>Вот это-то как раз не "боковые костыли", а тот самый "низкий уровень", который выделен в отдельную прослойку, делающую только свои низкоуровневые дела, и делающую их хорошо. Это логично и правильно. А вот когда я мыслю объектами, строю сложные абстрактные структуры данных, но при этом должен заботиться о том, какой ширины у меня int, как бы мне не сорвать стек переполнением буфера, и как не забыть освободить выделенную память, - это уже костылизм!
Кстати, я как раз сейчас этим занимаюсь - пишу на Lua высокоуровневые скрипты, которые вызывают низкоуровненвые функции, обращающиеся к железу, которые пишу на Си. Легко и непринужденно. И мне страшно подумать, что бы было, если бы мне _все_это_ пришлось бы писать на Си++! Оо
>>В результате абстрактных структур данных мы так толком и не имеем,
>>и каждый фреимворк изобретает собственные велосипеды в виде классов
>>List, Matrix, Vector и т.д...
>
>Це еретики, которых правильно было бы отправить в топку.
>Самый правоверный набор примитивов - STL + boost, всё остальное - извращение.
>Boost, в котором только одних типов указателей определено, наверное, с десяток? auto_ptr, linked_ptr, scoped_ptr, shared_ptr, smart_ptr, weak_ptr, intrusive_ptr, exception_ptr... Оо Это что, по-вашему, не костыли? Вот вы говорите, я не умею пользоваться возможностями Си++. А вы сами знаете как пользоваться всеми этими указателями? И ЗАЧЕМ знать все эти "возможности Си++", которые больше похожи на способы как победить компилятор? Лучше выбрать более адекватный инструмент сообразно поставленной задаче.
>>Термин "полноценные языки программирования" в вычислительной технике мне не знаком.
>
>Глупо сравнивать с одних и тех же позиций C++, M4 и SQL.
>Равно как и Haskell и Prolog.
>Изначально дискуссия шла об универсальных императивных языках программирования,
>иначе вести разговор о Java, C#, Perl, C++ и рекомом Go вообще
>бессмысленно.
>Ну, наша с вами дискуссия началась с того, что я назвал С++ "костылем", и вашего возражения на это. Я сравниваю языки программирования с позиций задач, которые ставятся перед ними, и того, насколько эффективно эти задачи ими решаются.
>На самом деле у Perl и C++ сходная проблема - на них
>легко написать груду мусора
>вместо нормального кода. IMHO именно Perl - в своей области применения -
>должен был
>бы иметь жёсткий, обязательно многословный и безвариантный синтаксис. Чтобы написанное
>всегда однозначно читалось и не требовало выстраивать в голове конечный автомат
>для разбора очередной строки маловнятных символов.Почему вы считаете, что для задач, которые решает Перл, нужен именно жесткий и многословный синтаксис? Не знаю, чем руководствовался Ларри Уолл в данном случае, но одной из его идей было - создать ЯП, максимально похожий на естественный язык. В естественных языках идиоматика и экспрессивность важнее точности описания, вот, он и решил перенести это на программирование... Насколько удачной была эта идея и ее реализация - спорить не буду. :)
>Проблема в том, что нельзя создать инструмент, которым одинаково хорошо можно было
>бы забивать сваи и подковывать блоху - что-то всегда будет за
>счет другого. Это не я придумал. Специализация, разделение труда и пресловутый
>Юникс-вей известны давно.C++ - не один универсальный инструмент, а целый ящик инструмента. ;)
В этом ящике нет средств на все случаи жизни, но они есть в соседних ящиках.
Я кстати не утверждаю, что обязательно самые удобные - вести Web-разработку
на C++ IMHO совершенно неудобно.>Вот это-то как раз не "боковые костыли", а тот самый "низкий уровень",
>который выделен в отдельную прослойку, делающую только свои низкоуровневые дела, и
>делающую их хорошо. Это логично и правильно. А вот когда я
>мыслю объектами, строю сложные абстрактные структуры данных, но при этом должен
>заботиться о том, какой ширины у меня int, как бы мне
>не сорвать стек переполнением буфера, и как не забыть освободить выделенную
>память, - это уже костылизм!"Какой ширины int", а точнее, о размерности и точности вычислений, понимать
полезно всегда. Иначе даже на самом лучшем и высокоуровневом языке программирования
можно нарваться на неприятный сюрприз. Даже в Scheme с его высоченной и универсальной
"числовой башней" небесполезно понимать, какого типа результат дают вычисления.Что касается "срыва стека переполнением", то это как раз из области корявых
приёмов программирования и дурного стиля. Разумный человек никогда не будет
работать с фиксированными и неавтоматическими буферами в высокоуровневых
участках кода. Язык позволяет, да - но и молотком вполне можно ударить себя
по пальцу, кто ж запретит?>Кстати, я как раз сейчас этим занимаюсь - пишу на Lua высокоуровневые
>скрипты, которые вызывают низкоуровненвые функции, обращающиеся к железу,
>которые пишу на Си. Легко и непринужденно. И мне страшно подумать, что бы было,
>если бы мне _все_это_ пришлось бы писать на Си++! ОоКаждый использует то средство, которое ему удобнее и которое он лучше знает.
Я бы такую конструкцию преспокойно писал бы на C++, вполне легко и непринуждённо.
Логика "высокоуровневых скриптов" без проблем и вполне красиво уложилась бы
в синтаксис C++.>Boost, в котором только одних типов указателей определено, наверное, с десяток?
>auto_ptr, linked_ptr, scoped_ptr, shared_ptr, smart_ptr, weak_ptr, intrusive_ptr,
>exception_ptr... Оо Это что, по-вашему,
>не костыли? Вот вы говорите, я не умею пользоваться возможностями Си++.
>А вы сами знаете как пользоваться всеми этими указателями? И ЗАЧЕМ
>знать все эти "возможности Си++", которые больше похожи на способы как
>победить компилятор?Boost - любимая мишень для критики со стороны неосведомлённых.
Вообще-то boost как таковой - это область бета-тестирования библиотек, которые
претендуют на переезд в состав STL. И нередко там оказываются явно конкурирующие
друг с другом модули, которые все разом заведомо никогда не попадут в стандарт.Поэтому если при разработке программы требуется некий примитив, сперва следует
смотреть в STL, и только затем, если ничего подходящего там нет - в boost.>Лучше выбрать более адекватный инструмент сообразно поставленной задаче.
Это всегда хорошо.
>Ну, наша с вами дискуссия началась с того, что я назвал С++
>"костылем", и вашего возражения на это. Я сравниваю языки программирования с
>позиций задач, которые ставятся перед ними, и того, насколько эффективно эти
>задачи ими решаются.Чисто из любопытства посмотрел (по диагонали) набор сообщений в теме и не обнаружил
там даже признаков "сравнения языков программирования с позиций задач", только
оценки, явно перегруженные эмоционально.Опять-таки подчеркну - в контексте темы если что и можно сравнивать, то только
императивные универсальные языки программирования. SQL и M4 не предлагать :)>Почему вы считаете, что для задач, которые решает Перл, нужен именно жесткий
>и многословный синтаксис? Не знаю, чем руководствовался Ларри Уолл в данном
>случае, но одной из его идей было - создать ЯП, максимально
>похожий на естественный язык. В естественных языках идиоматика и экспрессивность важнее
>точности описания, вот, он и решил перенести это на программирование... Насколько
>удачной была эта идея и ее реализация - спорить не буду.
>:)В языке, похожем на естественный, операции должны определяться словами, а не набором
мусорных символов :)А жёсткий и подробный синтаксис был бы полезен в Perl для того, чтобы упростить
чтение чужого кода. Perl часто применяется при автоматизации задач администрирования,
и понимать кракозябры, набросанные впопыхах очередным гениальным админом, бывает
крайне утомительно. Никакой обфускатор часто не требуется :)
>"Какой ширины int", а точнее, о размерности и точности вычислений, понимать
>полезно всегда.Здесь я предпочту остаться при своем мнении. Если я "мыслю объектами", внутреннее представление числовых данных меня заботить не должно. Мне даже не нужно беспокоиться какого они типа - int, float, или что-то еще, как, например, в том же Lua, где для всех числовых данных есть один тип number.
>Разумный человек никогда не будет
>работать с фиксированными и неавтоматическими буферами в высокоуровневых
>участках кода.В высокоуровневых языках человек работает с _данными_, а не с какими-то буферами. Высокоуровневые языки для того и существуют, чтобы максимально абстрагировать программу от ее внутреннего представления в компьютере, и максимально приблизить ее к идее, которая у программиста в голове. Если я добавляю свои объекты в хеш-таблицу или дерево, зачем мне знать какие при этом буферы памяти выделяются и как они потом будут утилизированы?
>Вообще-то boost как таковой - это область бета-тестирования библиотек, которые
>претендуют на переезд в состав STL. И нередко там оказываются явно конкурирующие
>
>друг с другом модули, которые все разом заведомо никогда не попадут в
>стандарт.
>
>Поэтому если при разработке программы требуется некий примитив, сперва следует
>смотреть в STL, и только затем, если ничего подходящего там нет -
>в boost.Ну вот. То вы называете Буст "правоверным", то теперь оказывается, что это - лишь некая "область бета-тестирования библиотек, которые претендуют на переезд в состав STL". Кстати, и STL не многим лучше. Это ведь библиотека, а не часть языка, тут от наследия Си никуда не денешься. А следовательно, и работает она не так эффективно, как если бы все эти абстракции поддерживались бы самим компилятором. Соответственно и без зоопарка итераторов обойтись было нельзя...
>
>В языке, похожем на естественный, операции должны определяться словами, а не набором
>
>мусорных символов :)
>А разве в естественном языке вы никогда не используете "мусорные" слова? Или, по крайней мере, выразительные идиомы? :)
>А жёсткий и подробный синтаксис был бы полезен в Perl для того,
>чтобы упростить
>чтение чужого кода. Perl часто применяется при автоматизации задач администрирования,
>и понимать кракозябры, набросанные впопыхах очередным гениальным админом, бывает
>крайне утомительно. Никакой обфускатор часто не требуется :)Ну, с этим, может быть, можно и согласиться :)
>>"Какой ширины int", а точнее, о размерности и точности вычислений, понимать
>>полезно всегда.
>
>Здесь я предпочту остаться при своем мнении. Если я "мыслю объектами", внутреннее
>представление числовых данных меня заботить не должно. Мне даже не нужно
>беспокоиться какого они типа - int, float, или что-то еще, как,
>например, в том же Lua, где для всех числовых данных есть
>один тип number.Ну и будете получать всякие неприятные ситуации навроде переполнения
и невозможности преобразования, скажем, в int при вызове собственных
примитивов, написанных на C. Или удивляться, а почему это вот такой
простой алгоритм тормозит - а он, оказывается, для вычисления использует
вещественные числа вместо целых. Или вообще в рациональных дробях всё
считает :)>В высокоуровневых языках человек работает с _данными_, а не с какими-то буферами.
>Высокоуровневые языки для того и существуют, чтобы максимально абстрагировать
>программу от ее внутреннего представления в компьютере, и максимально приблизить
>ее к идее, которая у программиста в голове. Если я добавляю свои объекты в
>хеш-таблицу или дерево, зачем мне знать какие при этом буферы памяти
>выделяются и как они потом будут утилизированы?Моя же мысль, выраженная другими словами. Зачем в том же C++ какие-то "буферы"
при помещении объектов в карту STL? :)>Ну вот. То вы называете Буст "правоверным", то теперь оказывается, что это
>- лишь некая "область бета-тестирования библиотек, которые претендуют на переезд в
>состав STL".Вполне правоверная область. С очень качественным кодом, просто не весь он
войдёт в стандарт.>Кстати, и STL не многим лучше. Это ведь библиотека,
>а не часть языка, тут от наследия Си никуда не денешься.Распространённое заблуждение. STL - неотъемлемая часть языка, обязательная для
реализации (и специальной поддержки) любым компилятором C++, соответствующим
современному стандарту.Без специальной поддержки компилятора, кстати, некоторые возможности, предусмотренные
в STL, в принципе не могут быть реализованы.>А следовательно, и работает она не так эффективно, как если бы
>все эти абстракции поддерживались бы самим компилятором. Соответственно и без зоопарка
>итераторов обойтись было нельзя...Слова про "эффективность" здесь не к месту. На производительность STL грех жаловаться.
А "зоопарк итераторов", действительно не особо приятный, есть прямое следствие
строгой и контролируемой на этапе компиляции типизации, та же Java (несмотря на
рудиментарность поддержки шаблонов в ней) без такого "зоопарка" точно так же не
обошлась.>А разве в естественном языке вы никогда не используете "мусорные" слова? Или,
>по крайней мере, выразительные идиомы? :)"Если эта роль ругательная, я вас её попрошу ко мне не применять!"
>Ну, с этим, может быть, можно и согласиться :)
Вот хоть в чём-то договорились.
> Java - действительно костыль. Он позволяет брать на работу не шибко умных и не особо
> напрягающихся программистов, и при этом получать с них пользу.Если следовать вашей логике, обычный си вообще для идиотов.
>> Java - действительно костыль. Он позволяет брать на работу не шибко умных и не особо
>> напрягающихся программистов, и при этом получать с них пользу.
>
>Если следовать вашей логике, обычный си вообще для идиотов.Это не моя логика. Писать на C труднее, чем на Java.
Но обычный C действительно куда проще в употреблении, чем C++ - если
действительно полезно использовать возможности C++.
> Писать на C труднее, чем на Java.Сложность написания зависит от сложности задачи.
Вот пример из Пайка:foo::Foo * myFoo = new foo::Foo(foo::FOO_INIT)
Задача очень простая - создать некий объект. Но почему при этом foo нужно повторить 2 раза, а Foo - 3 раза! Как он говорит, для того, чтобы создать объект, нужно заполнить бланк в 3-х экземплярах! Бюрократия...
потому что Пайк не осилил С++foo::Foo myFoo(foo::FOO_INIT);
надеюсь вас :: не сильно пугает?
если пугает упрощу
Foo myFoo(FOO_INIT);
Есть старый анекдот про студентов-медиков: "Студент, вы смелый, но невнимательный - я сунул один палец, а облизал другой" ;)Вы создаете _объект_, а он - _указатель_ на объект.
есть другой анекдот
но уже в программировании
есть суть такова, "избегайте использование указателей везде где это возможно"
но ниодин С++ программист увы до этой книги не дочитал :((
>есть другой анекдот
>но уже в программировании
>есть суть такова, "избегайте использование указателей везде где это возможно"
>но ниодин С++ программист увы до этой книги не дочитал :((Чушь какая. Можно подумать, люди используют указатели везде, где ни поподя. А "программиста" на Си++, который не использует указатели, я бы на пушечный выстрел к компьютеру не подпустил. Пусть быдлокодит на Питоне или Джаве.
>Чушь какая.почитайте умные книги умных людей
>Можно подумать, люди используют указатели везде, где ни поподя.
ну пример Пайка выглядит именно так
типа вот _так_ пишутся программы на С++
и привел пример с инициализацией указателя>А "программиста" на Си++, который не использует указатели,
правило гласит
>>есть суть такова, "избегайте использование указателей везде где это возможно"избегайте это не значит _не_используйте_
>я бы на пушечный выстрел к компьютеру не подпустил.
да я бы вас и к интернету не допустил бы...
>Пусть быдлокодит на Питоне или Джаве.
видимо вы далекий от С++
и кроме как говорил Дед, "GUI" ничего не писали
мдя... вы ничего не слышали о итераторах?
>Чушь какая. Можно подумать, люди используют указатели везде, где ни поподя. А
>"программиста" на Си++, который не использует указатели, я бы на пушечный
>выстрел к компьютеру не подпустил. Пусть быдлокодит на Питоне или Джаве.Как вы думаете, по какой причине в современных высокоуровневых языках как минимум не рекомендуется использование указателей?
>Как вы думаете, по какой причине в современных высокоуровневых языках как минимум
>не рекомендуется использование указателей?Потому что среднестатистический современный кодер не в состоянии оперировать в уме косвенной адресацией.
С ностальгией вспоминаю ассемблер DEC PDP-11, где двойная косвенная адресация была реализована на уровне процессора, и где легко и просто реализовывались массивы указателей на функции...
> Потому что среднестатистический современный кодер не в состоянии оперировать в уме косвенной адресацией.+1 Кем и где не рекомендуется использование указателей? Тот же Пайк пишет в своих знаменитых "Notes on Programming in C":
"Pointers are sharp tools, and like any such tool, used well they can be delightfully productive, but used badly they can do great damage (I sunk a wood chisel into my thumb a few days before writing this). Pointers have a bad reputation in academia, because they are considered too dangerous, dirty somehow. But I think they are powerful notation, which means they can help us express ourselves clearly."
Так что, рекомендовать программистам не пользоваться указателями - это все равно что рекомендовать столярам не пользоваться стамеской. Такие рекомендации даются дебилам.
гм. Речь о плюсах вообще-то. в сях без указателей вообще никуда к сожалению.
>гм. Речь о плюсах вообще-то. в сях без указателей вообще никуда к
>сожалению.С огромным трудом представляю себе плюсы без указателей. То-есть, вообще не представляю. Плюсы без указателей - это плюсы без:
- this
- шаблонов
- итераторовсписок можно продолжать до тех пор, пока не останется жабообразный обрубок.
только вот в java есть и this и итераторы, которые замечательно работают.
Приведёте мне пример кода на Си, где "без указателей вообще никуда", и пример кода на Си++, который делает ровно _то_же_самое_, но без указателей?
Честно говоря мне плевать на примеры пайка. Если я достаточно хорошо знаю и си, и java, то трудностей написания ни на том, ни на другом языках у меня не будет.
Хорошо набросил чувак. Даешь вьюжлвасик в массы! Чтобы каждая домохозяйка могла заниматься промышленным программированием. Как побочный эффект правда - зарплаты ряда программеров съедут до уровня домохозяек. Если уж любая домохозяйка сможет - ну и зарплата будет соответствующая. Неквалифицированный труд и оплачивается плохо, соответственно.
Хороший программист должен программировать не на языке, а с использованием языка. Язык - всего лишь инструмент. Вряд ли домохозяйка хоть на бейскике, хоть на чем сможет разрабатывать и поддерживать что-то большое.
>Язык - всего лишь инструмент.Ну да. А экскаватор - всего-лишь инструмент для сгрёба земли, поэтому что лопата, что автоматика - всё равно. :)
Языки - это настолько СЛОЖНЫЕ инструменты, что овладевая им _в_полной_мере_ (в отличии от вас, которым всё равно какой язык), нельзя не согласиться, что ты начинаешь ДУМАТЬ НА ЭТОМ ЯЗЫКЕ. Каждый день классы, наследования, делегаты... - невольно, любую задачу ты "распарсиваешь" на том языке, которым владеешь! Посему, чем тупее язык (Жабо/Ц++), тем уродливее ваше решение - мозг просто не может прыгнуть выше тех концепций, что есть в языке. Итак, язык - всего лишь инструмент?...
>>Язык - всего лишь инструмент.
>
>Ну да. А экскаватор - всего-лишь инструмент для сгрёба земли, поэтому что
>лопата, что автоматика - всё равно. :)Совершенно верно. Если посадить домохозяйку за экскаватор, она вам вместе с ямой половину района распашет.
>Языки - это настолько СЛОЖНЫЕ инструменты, что овладевая им _в_полной_мере_ (в отличии
>от вас, которым всё равно какой язык), нельзя не согласиться, что
>ты начинаешь ДУМАТЬ НА ЭТОМ ЯЗЫКЕ. Каждый день классы, наследования, делегаты...
>- невольно, любую задачу ты "распарсиваешь" на том языке, которым владеешь!Современные ООЯП имеют очень много общего. И классы и наследование и делегаты везде примерно одинаковы. Так что изучение особенностей отдельно взятого языка - дело времени.
Программисты действительно думают на том языке, на котором пишут в настоящий момент. Но процесс кодирования и процесс разработки архитектуры ПО - это два разных процесса. И если первый - чисто техничен, то второй от языка почти не зависит. И именно во втором появляется настоящий программист.
>Посему, чем тупее язык (Жабо/Ц++), тем уродливее ваше решение - мозг
>просто не может прыгнуть выше тех концепций, что есть в языке.
>Итак, язык - всего лишь инструмент?...Ваше мнение не совпадает с мнением большинства
http://www.tiobe.com/index.php/content/paperinfo/tpci/Вы считаете, что вы - умнее всех?
> Вряд ли домохозяйка хоть на бейскике, хоть на чем сможет разрабатывать и поддерживать
> что-то большое.Да, этим занимаются миллионы обезьян^W индусов за пишущими машинками^W^W клавиатурами. Обычно получается и правда что-то большое. Я бы даже сказал - энтерпрайзненькое ;).
Скажем так, домохозяйка никогда не сможет правильно выбрать между finger tree и binary tree. А идея Пайка, судя по всему, заключается в том, что инструмент для решения задач не должен вносить дополнительных сложностей, связанных с его использованием.
>инструмент для решения задач не должен вносить дополнительных сложностей, связанных
>с его использованием.Если бы водить истребитель можно было каждому и управление было бы простое как пять копеек - представляете себе насколько опасной и геморройной была бы жизнь? Геморность инструмента - некий стопор избавляющий от идиотов. А дай всем желающим идиотам в руки истребитель - и безопасная жизнь будет возможна только в укрепленном подземном бункере.
> Неквалифицированный труд и оплачивается плохо, соответственно.Э. Тут ты ошибаешься. Средненький плотник или бетонщик зарабатывает куда больше среднего же программиста. Но на бетонщика нужно два месяца учиться без всякой школьной подготовки, а чтоб хотя бы средненьким програмистишкой стать (я имею в виду, квалифицированного) нужно и школу закончить приличную и в универе поучиться усердно.
Правильно один мой знакомый сказал, что латинос, который стрижёт газон возле его дома, зарабатывает в десять раз больше, чем училка-логопед, которая учит его умственно-отсталого сына говорить по-человечески.
Мля... В нашей истории уже были лозунги, что любая кухарка может управлять государством.
Сложность языка программирования должна соответствовать сложности предметной области, для решения задач в которой он используется. Если язык вдруг оказался проще, то значит некий вася пупкин, подумал за вас, как выполнить то, над чем вам показалось в падлу думать. Все нормально, в принципе.. Но тогда поднимать вопрос об эффективности это злостное лукавство.
Пайк - продажное, беспринципное УГ. Ему бы стоило забыть и не вякать вообще о том, что он имел какое-то отношение к Unix, и соответственно к С.
> стоило бы не вякать вообщевы сами почаще следовали своему здравому совету
>Мля... В нашей истории уже были лозунги, что любая кухарка может управлять
>государством.Статья «Удержат ли большевики государственную власть?» (1917) В. И.Ленина (1870-1924):
«Мы не утописты. Мы знаем, что любой чернорабочий и любая кухарка не способны сейчас вступить в управление государством. Но мы […] требуем немедленного разрыва с тем предрассудком, будто управлять государством, нести будничную, ежедневную работу управления в состоянии только богатые или из богатых семей взятые чиновники. Мы требуем, чтобы обучение делу государственного управления велось сознательными рабочими и солдатами и чтобы начато было оно немедленно, т. е. к обучению этому немедленно начали привлекать всех трудящихся, всю бедноту».
>Сложность языка программирования должна соответствовать сложности предметной области, для решения задач в
>которой он используется. Если язык вдруг оказался проще, то значит некий
>вася пупкин, подумал за вас, как выполнить то, над чем вам
>показалось в падлу думать. Все нормально, в принципе.. Но тогда поднимать
>вопрос об эффективности это злостное лукавство.Не используйте оптимизацию при компиляции. Раз в компиляторе её реализовал Вася Пупкин, то об какой эффективности может идти речь? Без неё программа должна всяко быстрее работать.
>Пайк - продажное, беспринципное УГ.
Пайк - не фанатик, а прагматик. Я правильно понял этот пассаж?
>Ему бы стоило забыть и не вякать
>вообще о том, что он имел какое-то отношение к Unix, и
>соответственно к С.Он имеет полное право "вякать", так как и отношение к C, UNIX, Plan9 он имеет самое прямое. В первую очередь, он профессионал мирового уровня, принимавший участие в реализации революционных проектов. Как результат - колоссальный практический опыт, позволивший ему сделать некоторые выводы (кстати, они перекликаются с идеями Вирта), которыми он и поделился с сообществом. Возможно, Пайк и сам когда-то придерживался принципов, аналогичных вашим, но их он просто перерос.
Роб Пайк видимо ничего не знает о языке 'D' ))
A D просто нет в природе. От этого долгостроя уже отворачиваются даже самые преданные энтузиасты, такие как например создатель DWT
А к Go ещё никто и не поворачивался.
>A D просто нет в природе. От этого долгостроя...Так долгострой или нет в природе? :)
Ошибочность дилетантских мнений о Ди вполне объяснима, но вы же понимаете, как после этого вас будут неуважать?
Ди превосходно себя чувствует, развивается и даже если взять только написанные и проверенные возможности, на голову превосходит любые _практические_ языки.
Прелесть этого, как вы выразились, "долгостроя" в том, что он не прыгает сразу выше всех - язык вбирает лучшие концепции грандов индустрии, эти концепции оттачиваются, проверяется их пригодность и полезность, и только потом они уже становятся частью языка. Естественно, это занимает время! Но лучше "день потерять, потом за 5 минут долететь".
Сейчас Ди уже имеет вполне полновесные реализации основных идей (почитайте "место для Ди" Александреску) - просто садись и используй! (если хватит мозгов с наскока понять) Ди превосходен во всём, окромя скромной библиотеки, ну так помогите перспективному проекту, чем клепать очередной велосипед-редактор на Сипипях!
Сейчас Ди недостаёт хорошей ГУЙни, БД библиотеки, может чего-то ещё. Но если сообщество ему поможет, смысл существования всех этих "си-подобных" пародий потеряется! Будет один удобный, _мультипарадигменный_ язык на все случаи жизни. Это ли не нирвана?
>>Роб спросил у зала, как подобным языкам можно учить студентов и использовать их для промышленного программированияА как он думает объяснять студентам объекты которых в go полно студентам которые ещё не знают что такое классы?
>>>Роб спросил у зала, как подобным языкам можно учить студентов и использовать их для промышленного программирования
>
>А как он думает объяснять студентам объекты которых в go полно студентам
>которые ещё не знают что такое классы?Ну, к примеру, Руби насквозь объектный, но что либо писать в нём можно совершенно ничего не знаю об ООП вообще.
насколько я помню с++ хоронят уже лет 15 да все никак не похоронят :-D
хорошо что хоть на баше дадька не предложил кодить :-D
Насчёт С++ я бы согласился - это такие грабли с привязанной бомбой, что ни один прогер (профессионал) не поклянётся на здоровье, что эта программа не упадёт. :)
Но Джаба - она примитивна, чему там быть сложным?! Разве что многословна - да, ну и сам язычок сильно отстаёт в фичах.
Я так догадываюсь, что гугл теперь решил разделить саркофаг Жабы: раструбить о себе, вовлечь правдами-неправдами часть прогеров, а потом: "Посмотрите, как популярен наш Го!". Затем идёт медленное переосмысление, что Го - такое же Гы как Жаба и мееееедленная смерть с инъекциями в протез. Не нужен.
Есть уже довольно хорошо подразвившийся D - системный язык с прекрасными, современными фичами, к тому же под Вынь и Линь - но он, как обычно, not invented here. :)
>Но Джаба - она примитивна, чему там быть сложным?! Разве что многословнаЯва сложна прежде всего обросшей инфраструктурой. Там чёрт ногу сломит что для чего и зачем, и что чему конкурент и что чем заменить можно. Особенно когда во всё это многообразие ещё и коммерческие интересы вплетаются.
>
>>Но Джаба - она примитивна, чему там быть сложным?! Разве что многословна
>
>Ява сложна прежде всего обросшей инфраструктурой. Там чёрт ногу сломит что для
>чего и зачем, и что чему конкурент и что чем заменить
>можно. Особенно когда во всё это многообразие ещё и коммерческие интересы
>вплетаются.А причем тут инфраструктура, если мы о самих языках программирования говорим? Фреймворки к сложности языка имеют очень малое отношение. Я вам и на Бейсике такой сложности фреймворк могу навернуть, что, если кто-то будет по нему судить, подумает, что сложнее бейсика нет языка.
Дело не в сложности реализации, а в сложности и разобщенности самого технологического процесса в случае Явы. Просто мужичишка этот в своём видео берёт слишком уж высосанные из пальца примеры, видимо, пытаясь донести более общую мысль о сложности самого пайплайна на Яве. Сам то язык довольно прост, а его примеры убедительностью не блещут, особенно учитывая, что большинство из них откровенно неактуальны.
>Дело не в сложности реализации, а в сложности и разобщенности самого технологического
>процесса в случае Явы.А что понимается под техпроцессом в случае Явы?
Обслуживание жизненного цикла приложения.
.net совмещает в себе и статические и динамические языки.
.net реально на голову выше и явы и c/c++.
Дотнет - не язык и не может сравниваться с языками.
Дотнет - это параллельный мир, созданный M$ для себя самой. Он включает все, что угодно, кроме совместимости с чужими разработками.
И уж, конечно, он настолько выше всех остальных, что банально не проходит в стандартные двери ;)
>Дотнет - не язык и не может сравниваться с языками.
>Дотнет - это параллельный мир, созданный M$ для себя самой. Он включает
>все, что угодно, кроме совместимости с чужими разработками.
>И уж, конечно, он настолько выше всех остальных, что банально не проходит
>в стандартные двери ;)Коменты жгут!..
моё рабочее время...
Они конечно тоже полезны... Но я за 2 часа не дочитал и до половины...
Содержательно таки.
>.net совмещает в себе и статические и динамические языки.
>.net реально на голову выше и явы и c/c++.Не нужно сравнивать Framework и язык программирования. Если следовать вашему примеру, то сравнивайте .NET Framework с glibc.
В списке рассылки Lua была как-то очень большая ветка про Gohttp://lua-users.org/lists/lua-l/2009-11/msg00551.html
Из пещер повыползали люди, очень хорошо знающие Algol-68,
да-да, тот самый Алгоо-68. Так вот, сравнивали Go и Algol-68,
и делали вывод о превосходстве последнего во многих аспектах :-)
В некотором смысле вежливо поставили авторам Go двойку :-)
Очень интересная была ветка, любознательным
рекомендую почитать.