» Программирование>Срочная помощь программистов и тема для флуда по тематике раздела
aerin 11:58 04.03.2014
И сам пишу и молодых программистов учу:
константа должна идти первой:
Сообщение от :
if(0==i)
С другой стороны сильно ругаю, за
Сообщение от :
0==i
ибо есть значительно более наглядные
Сообщение от :
i и !i
Опять же, как выше написал Spectator, = в операторе if часто встречающаяся операция при создании чего-то с проверкой.
Если X0R этого не понимает, то это его сексуальные проблемы, не надо смотреть на С/C++ как на паскаль с другим синтаксисом, эти языки имеют в корне различающиеся парадигмы.
[Ответ]
manifest 12:04 04.03.2014
Сообщение от X0R:
возможностью фиксить баги в опенсорсных продуктах обладают миллионы разработчиков, но не делают этого. Между можно и делается большая разница.
Например, наши патчи есть в SDL. И что примечательно, принимались они в течении дня как правило. Не так давно, лично рассказывали историю, в которой запрос на фикс бага в одном из продуктов Oracle висел не один год. Это если не вспоминать баянов, вроде 17-летнего бага MS.
Сообщение от X0R:
во первых язык разрабатывался и для себя тоже, а во вторых чтобы привлечь интерес разработчиков к платформе, нужно обеспечить их качественными инструментами разработки.
Не не не, нужно сделать платформу, создать новый рынок сбыта и там продавать свои средства разработки. Иначе почему не сделать технологию открытой?
Сообщение от X0R:
скажите прямо - не поняли язык.
Понял, ничем не примечательный C-like язык, которых огромное количество.
Сообщение от X0R:
совместимости не меньше чем в открытых технологиях
С таким уровнем абстрактности фраза отдает идиотизмом с налетом фанатизма.
Сообщение от X0R:
Сообщение от manifest:
Mono никак не мог успеть за этим процессом
Сообщение от :
The easiest way to describe what Mono currently supports is:
Everything in .NET 4.5 except WPF, WWF, and with limited WCF and limited ASP.NET 4.5 async stack.
Я не слежу за технологиями .NET. WPF, WWF, WCF - уже успели устареть?
.NET никогда не был кросплатформенным, разве только в глазах Windows программиста.
Сообщение от X0R:
а они просто не удивляются, а используют
Вы почему-то все сводите к количественному показателю. Например, темпы роста популярности Objective-C колосальные, людей которые на нем пишут все больше. Говорит ли это о том что язык такой хороший и становится луче? Нет. В этом заслуга популярности продуктов от Apple. То же самое, на мой взгляд, и с .NET языками, у MS уже есть рынок, и этот рынок потребляет то что они ему скармливают. Большинство не задумываются, почему он использует Windows а не Linux или OSX, языки .NET а не Java, C++, Ruby, Python... Большинство пользует то что у них под рукой, то что кто-то выбрал за них. Потому что так привычней. Чтобы разобраться нужно усилия потратить, это сложно и утомительно. Следуете такой логике? Ваш выбор. У меня другой взгляд.
Сообщение от X0R:
я выбрал Python, мнение о C# не изменилось, не думаю что Ryby это под силу
Тогда можно и на Erlang глянуть. Если уж после этого ничего не изменится, MS должен выслать Вам медаль евангелиста 1й степени.
Сообщение от manifest:
Судя по всему их VM работает все же поверх Dalvik или как это происходит?
Сообщение от :
On Android, most of the system facilities like Audio, Graphics, OpenGL and Telephony are not available directly to native applications, they are only exposed through the Dalvik Java APIs residing in one of the Java.* namespaces or the Android.* namespaces
Сообщение от Spectator:
if (a=b)
и тогда в этом условии будет смысл, мы присваиваем значение и проверяем его на ноль, в одной строке. плохо так делать или хорошо - решать программисту.
процитирую пожалуй, а уж кто поймет, тот поймет
Сообщение от :
Явное лучше, чем неявное.
Простое лучше, чем сложное.
Сложное лучше, чем запутанное.
Сообщение от aerin:
И сам пишу и молодых программистов учу:
константа должна идти первой:
а родилось такое уродливое решение именно благодаря "очевидному" синтаксису.
Сообщение от aerin:
не надо смотреть на С/C++ как на паскаль с другим синтаксисом, эти языки имеют в корне различающиеся парадигмы.
интервью создателя языка. Через 25+ лет решили наконец сделать свою жизнь проще. Наверное надоели проблемы сексуального характера из за отладки подобных штук.
Сообщение от :
БС В действительности, я знал об опасности макросов, когда начал использовать C; но подобно большинству людей я недооценил эту опасность и различные негативные последствия. Широко распространенное использование макросов в C, вероятно, является основной причиной того, что десять лет назад отсутствовали великолепные среды разработки C++. Также существует множество запутанных способов инициализации объектов в C++; я надеюсь, что это будет разрешено с помощью единого механизма в C++0x. Я упомянул о шаблонах в ответе на предыдущий вопрос. Это крупный успех нового языка C++ (который появился в1985 году), но этот успех деформировал язык — опять же, для разрешения этих проблем предусмотрены специальные компоненты C++0x.
Множество незначительных и не настолько незначительных проблем, обнаруженных за последние годы, не могут быть разрешены в C++ по причинам совместимости.
Сообщение от X0R:
а язык на котором пишут, должен предлагать синтаксис, который не только не способствует появлению подобных ошибок, но и помогает их избегать.
виртуальный язык в вакууме ничего тебе лично не должен.
если тебе нужен такой язык, то найди его и пользуйся им.
разным людям нужно разное. в том числе поэтому на свете так много языков (в т.ч. программирования),
я за долгие годы использования плюсов знаю все его причуды до дыр. и они потому мне жить совершенно не мешают, а только наоборот. и этот язык рассчитан именно на это - что ты его изучишь досконально и сможешь использовать эффективно, так как ты какой, не к ночи будет помянут, паскаль никогда использовать не сможешь.
и, наоборот, на паскале через неделю после обучения ты уже свободно сможешь писать программы. на то чтобы не путаться с одинарными-двойными знаками равенства, указателями, одинарными-двойными кавычками, точкой и -> и прочей сишной хренотенью у меня ушел не один год. так чтобы это вообще жить не мешало и ломать голову - что не нравится компилятору не приходилось. но о том что я это время потратил и могу сейчас писать на сях, а не на паскале, я ни капли не жалею.
Сообщение от X0R:
интервью создателя языка. Через 25+ лет решили наконец сделать свою жизнь проще. Наверное надоели проблемы сексуального характера из за отладки подобных штук.
не мешай всё в одну кучу. макросы - это отдельная песня.
[Ответ]
aerin 22:30 04.03.2014
X0R, вот это обеспечило плюсам широкую популярность
Сообщение от :
При создании C++ Бьёрн Страуструп хотел:
Получить универсальный язык со статическими типами данных, эффективностью и переносимостью языка C.
Непосредственно и всесторонне поддерживать множество стилей программирования, в том числе процедурное программирование, абстракцию данных, объектно-ориентированное программирование и обобщённое программирование.
Дать программисту свободу выбора, даже если это даст ему возможность выбирать неправильно.
Максимально сохранить совместимость с C, тем самым делая возможным лёгкий переход от программирования на C.
Избежать разночтений между C и C++: любая конструкция, допустимая в обоих языках, должна в каждом из них обозначать одно и то же и приводить к одному и тому же поведению программы.
Избегать особенностей, которые зависят от платформы или не являются универсальными.
«Не платить за то, что не используется» — никакое языковое средство не должно приводить к снижению производительности программ, не использующих его.
Не требовать слишком усложнённой среды программирования.
Кому надо проще, пишет на Java. А C++ - это скальпель, с которым надо уметь обращаться, порог вхождения безусловно выше, чем у Delphi.
[Ответ]
silly 22:41 04.03.2014
Сообщение от X0R:
C# такого не допускает.
Код:
% mono --version
Mono JIT compiler version 3.2.3 (tarball Mon Dec 30 19:31:30 UTC 2013)
% cat test.cs
using System;
class Application
{
static void Main(string[] args)
{
bool r = false;
if (r = true)
{
Console.WriteLine("ORLY?");
}
}
}
% mcs test.cs
test.cs(8,7): warning CS0665: Assignment in conditional expression is always constant. Did you mean to use `==' instead ?
test.cs(7,8): warning CS0219: The variable `r' is assigned but its value is never used
Compilation succeeded - 2 warning(s)
% mono test.exe
ORLY?
Сообщение от manifest:
Это если не вспоминать баянов, вроде 17-летнего бага MS.
или 7-и летнего бага в Firefox
Сообщение от manifest:
Не не не, нужно сделать платформу, создать новый рынок сбыта и там продавать свои средства разработки.
вы свои проекты распространяете бесплатно и с открытым кодом?
Сообщение от manifest:
Иначе почему не сделать технологию открытой?
закрыта реализация. Спецификации являются открытыми.
Сообщение от manifest:
Понял, ничем не примечательный C-like язык, которых огромное количество.
вот только в лидерах по популярности. Ну да программисты идиоты, других языков не знают, выбирать не умеют.
Сообщение от manifest:
С таким уровнем абстрактности фраза отдает идиотизмом с налетом фанатизма.
сколько у вас видений чудных, бросьте злоупотреблять. Язык сохраняет совместимость. Framework так же, лишь незначительное количество возможностей помечается как устаревшие и не рекомендуемые для дальнейшего использования, в этом ничего плохого нет, это процесс исправления ошибок.
Сообщение от manifest:
WPF, WWF, WCF - уже успели устареть?
это выбор разработчика Mono, о причинах можете спросить его сами. Тут ситуация примерно как со стандартом C++0x, разработчики каждого компилятора реализуют то, что считают важным.
Сообщение от manifest:
Например, темпы роста популярности Objective-C колосальные, людей которые на нем пишут все больше. Говорит ли это о том что язык такой хороший и становится луче?
хороший - сомнительно, но лучше становится. Пишут потому что из альтернатив по сути только Xanarin. Выбор средств разработки под серверы\десктоп\веб намного больше.
Сообщение от manifest:
языки .NET а не Java, C++, Ruby, Python...
следовало бы отметить, что Java появилась позже С++ и приобрела популярность не только благодаря кросплатформенности, но и удобству написания кода. Как говорится Java это очищенный С++, а C# это очищенная Java. Посмотрите на динамику развития языка, его возможности и на нововведения которые обещают в новой версии Java и C++. C# появился позже указанных языков, ему есть альтернативы (как и технологии .NET) но тем не менее его продолжают использовать и популярность растет. Неудачным технологиям, такое при наличии альтернатив не грозит.
Сообщение от manifest:
Тогда можно и на Erlang глянуть.
несколько десятилетий назад даже Lisp машины строили. Много сейчас вакансий? Поэтому то можно, но не нужно.
Сообщение от manifest:
MS должен выслать Вам медаль евангелиста 1й степени.
просите у Столлмана орден за продвижение опенсорса.
Сообщение от manifest:
Так и есть, Xarmin VM дергает Dalvik.
Сообщение от aerin:
вот это обеспечило плюсам широкую популярность
это же вызвало отток аудитории на Java с ее появлением, разработку языков типа D появлению стандартов включающих не только расширение языка, но и исправления "ошибок"
Сообщение от aerin:
А C++ - это скальпель, с которым надо уметь обращаться
видите ли...скальпели пытаются обезопасить понимая их опасность)
[Ответ]
Spectator 23:22 04.03.2014
Сообщение от X0R:
это же вызвало отток аудитории на Java с ее появлением, разработку языков типа D появлению стандартов включающих не только расширение языка, но и исправления "ошибок"
отток на Java - это очень громко сказано. в свете того что разработка обычных приложений на Java (не мобильных и т.п.) прекратилась чуть больше чем полностью, лучше про это чудо природы вообще не вспоминать.
Сообщение от X0R:
видите ли...скальпели пытаются обезопасить понимая их опасность)
скальпели вообще пытаются поострее заточить... тупой скальпель опасен, своей неэффективностью в нужный момент.
[Ответ]
silly, проверили содержимое переменной булевого типа? При этом компилятор сразу определил, что операция проверки бесполезна. Объясните, в чем вы тут усмотрели опасность подобную сишному = и ==?
[Ответ]
Сообщение от silly:
Я здесь вообще опасности не вижу.
переменная "неочевидно" получит новое значение, ну да вам виднее.
Сообщение от silly:
Вот в Эрланге так не покатит, это да.
видимо им тоже не нравится подобное поведение.
[Ответ]
Spectator 00:17 05.03.2014
Сообщение от X0R:
переменная "неочевидно" получит новое значение, ну да вам виднее.
проблема, безусловно, есть. но я сформулировал бы её "несколько" иначе - код будет работать не так как задумывалось создателем. всё остальное уже - бессмысленные детали.
и проблема тут, подчеркиваю, именно в создателе, а не в языке. проблема в том что он взялся не за своё дело.
[Ответ]
silly 01:40 05.03.2014
Сообщение от silly:
Я здесь вообще опасности не вижу.
Сообщение от manifest:
Не не не, нужно сделать платформу, создать новый рынок сбыта и там продавать свои средства разработки.
вы свои проекты распространяете бесплатно и с открытым кодом?
Я уже понял, что Вам сложно даже предположить что существует целый мир который живет по принципам которые не укладываются в Вашу логику Я распространяю свои проекты с открытым кодом и контрибутю в чужие. И меня сильно расстраивает когда, баг в купленном мной проприетарном приложении не фиксится его разработчиками и у меня нет возможности пофиксить его самому.
Сообщение от X0R:
закрыта реализация. Спецификации являются открытыми.
Поэтому все так плохо с .NET на не-Windows.
Сообщение от X0R:
вот только в лидерах по популярности.Ну да программисты идиоты, других языков не знают, выбирать не умеют.
Не идиоты, решают задачу - пишут приложения для Windows. У Windows широкий рынок, отсюда много и Windows-программистов. На других платформах .NET никому не нужен.
Сообщение от X0R:
Язык сохраняет совместимость. Framework так же, лишь незначительное количество возможностей помечается как устаревшие и не рекомендуемые для дальнейшего использования, в этом ничего плохого нет, это процесс исправления ошибок.
Забавно, а мне человек из корпоративной среды рассказывал, что они перешли с .NET на Java как раз по той причине, что спланировать правильный горизонт развития техногий, так чтобы код можно было повторно использовать долгое время с .NET оказалось не простой задачей.
Сообщение от X0R:
это выбор разработчика Mono, о причинах можете спросить его сами. Тут ситуация примерно как со стандартом C++0x, разработчики каждого компилятора реализуют то, что считают важным.
Вы какую-то глупость написали. Все вменяемые разработчики компиляторов следуют стандарту, и должны реализовать все что он описывает. В этом весь смысл стандарта. Компилятор, не реализующий стандарт - устаревший компилятор, никому не нужный. Например, на данный момент все ведущие компиляторы реализовали С++11 полностью. Исключение компилятор от Microsoft.
Сообщение от X0R:
хороший - сомнительно, но лучше становится. Пишут потому что из альтернатив по сути только Xanarin. Выбор средств разработки под серверы\десктоп\веб намного больше.
Xamarin - это не альтернатива, это костыль на костыле. С тем же успехом, можно писать на Java, Scala, Clojure, Ruby, ... сред разработки с подобным подходом не меряно.
Сообщение от X0R:
следовало бы отметить, что Java появилась позже С++ и приобрела популярность не только благодаря кросплатформенности, но и удобству написания кода.
Синтаксис не имеет значения. Имеет значение только решение задачи. Java позиционировалась именно как инструмент решающий проблему с перекомпиляцией кода под огромное количество существующих платформ, это её киллер-фитча. По этой причине Android сделал ставку на JVM. C# же не решает никакой проблемы, у него попросту нет киллер-фитчи, дитя маркетинга.
Сообщение от X0R:
Как говорится Java это очищенный С++, а C# это очищенная Java.
Вероятно, так говорят C# разработчики
Сообщение от X0R:
Посмотрите на динамику развития языка, его возможности и на нововведения которые обещают в новой версии Java и C++.
Посмотрели и разработчики C# судя по всему, после чего решили что сюда пичкать уже некуда и затели M# вдохновленный фитчами С++11.
Сообщение от X0R:
C# появился позже указанных языков, ему есть альтернативы (как и технологии .NET) но тем не менее его продолжают использовать и популярность растет. Неудачным технологиям, такое при наличии альтернатив не грозит.
Пользуют Windows программисты, для приложений Windows в первую очередь и тех платформ до которых можно дотянуться. И да, Windows программистов много. Но много и не-Windows программистов и им .NET не сдался потому что там где нет Windows .NET через то самое место прикручивается только. И есть огромное количество технологий не удачных, но свою узкую задачу решающих, которые пользуют, возмите Delphi в пример.
Сообщение от X0R:
Сообщение от manifest:
Тогда можно и на Erlang глянуть.
несколько десятилетий назад даже Lisp машины строили. Много сейчас вакансий? Поэтому то можно, но не нужно.
Глянуть, чтобы стать лучшим программистом. Erlang достаточно правильный язык. Его подходы координально отличаются от многих языков, уж тем более от C#, C++, Java или Python. У него есть даже несколько тех самых киллер-фитч, отсутствие которых в C# вызывает у меня равнодушное отношение к языку. Плюс, широкий кругозор убивает фанатизм.
Сообщение от X0R:
Сообщение от manifest:
Тогда можно и на Erlang глянуть.
Много сейчас вакансий?
Я, например, в здравом уме, никогда не предпочту Erlang какой-нибудь ASP.NET когда речь идет о серверном приложении. Несмотря на объемы вакансий.
Сообщение от X0R:
Сообщение от manifest:
MS должен выслать Вам медаль евангелиста 1й степени.
просите у Столлмана орден за продвижение опенсорса.
Подходы Столлмана это не весь Open Source, а малая его часть.Я не большой сторонник копилефта, придумайте, мне еще какую медаль.
Сообщение от X0R:
Сообщение от manifest:
Так и есть, Xarmin VM дергает Dalvik.
поверх и параллельно это разные вещи.
Расскажите мне, в какой момент дергания Java API, мой вызов будет поверх, а в какой параллельно?
[Ответ]
manifest 02:20 05.03.2014
Сообщение от X0R:
Сообщение от silly:
Я здесь вообще опасности не вижу.
переменная "неочевидно" получит новое значение, ну да вам виднее.
Я вот тоже проблемы не вижу. Глупо придираться к синтаксису языка. Еще глупее имхо синтаксисом осуществлять защиту от дурака. И уж тем более в компилируемом языке, где всегда можно выкинуть предупреждение.
[Ответ]
manifest 02:23 05.03.2014
Сообщение от silly:
Вот вам действительно опасное сравнение (взято с HN): https://eval.in/108854.
Сообщение от Spectator:
отток на Java - это очень громко сказано. в свете того что разработка обычных приложений на Java (не мобильных и т.п.) прекратилась чуть больше чем полностью, лучше про это чудо природы вообще не вспоминать.
Если ты на Java не пишешь то это не значит, что другие на нём не пишут.
Сейчас очень много разработок идёт для WEB, в которых Java разработчик чувствует себя комфортно. Так что не надо ля-ля.
Если судить по количеству книг, как писать на С++ и не выстрелить себе в ногу, то тут ещё можно поспорить что являеться чудом природы
P.S. и про скальпель аналогия не уместна. Сейчас юзают скальпели с одноразовым лезвием и их никто не точет.
[Ответ]
Spectator 16:49 05.03.2014
Сообщение от Hopkroft:
Если ты на Java не пишешь то это не значит, что другие на нём не пишут.
при чем тут вообще я? я говорил про конкретные вакансии, которых конкретно практически нет. по крайней мере в обычные софтверные фирмы. кто-то что-то к базам прикручивает, кто-то для Web'а разрабатывает, софт на жабе не пишут больше. собственно, нет и софта.
теперь - при чем тут я, вообще?
Сообщение от Hopkroft:
Сейчас очень много разработок идёт для WEB, в которых Java разработчик чувствует себя комфортно. Так что не надо ля-ля.
я говорю что десктопные приложения на Java исчезли как класс.
про Web и остальные узкие области я не говорю.
Сообщение от Hopkroft:
Если судить по количеству книг, как писать на С++ и не выстрелить себе в ногу, то тут ещё можно поспорить что являеться чудом природы
большое количество книг свидетельствует о популярности языка.
придумывать про "выстрелить в ногу" не надо.
Сообщение от Hopkroft:
P.S. и про скальпель аналогия не уместна. Сейчас юзают скальпели с одноразовым лезвием и их никто не точет.
вполне уместна. одноразовые или хорошо заточенные - это совершенно не важно.
[Ответ]
Hopkroft 17:29 05.03.2014
Сообщение от Spectator:
при чем тут вообще я? я говорил про конкретные вакансии, которых конкретно практически нет. по крайней мере в обычные софтверные фирмы. кто-то что-то к базам прикручивает, кто-то для Web'а разрабатывает, софт на жабе не пишут больше. собственно, нет и софта.
теперь - при чем тут я, вообще?
Ну как бэ, и софт сейчас другой. Различные WEB сервисы. Десктопные приложения сейчас уже не так востребованы, хотя и востребованы.
Сообщение от Spectator:
я говорю что десктопные приложения на Java исчезли как класс.
про Web и остальные узкие области я не говорю.
Ну и раньше на Java для десктопов не особо писали.
Сообщение от Spectator:
придумывать про "выстрелить в ногу" не надо.
А что придумывать, если оно так и есть. Ты с книгами Дьюхэрста, Майерса или Уилсона знаком? Или работаем по принципу "компилиться - значит нету ошибок"?
Сообщение от Spectator:
вполне уместна. одноразовые или хорошо заточенные - это совершенно не важно.
хорошо заточенные ещё стерилизовать потом нужно [Ответ]
Spectator 17:33 05.03.2014
Сообщение от Hopkroft:
Ну как бэ, и софт сейчас другой. Различные WEB сервисы. Десктопные приложения сейчас уже не так востребованы, хотя и востребованы.
он не другой, его сейчас больше.
десктопные приложения никуда не пропали.
Сообщение от Hopkroft:
Ну и раньше на Java для десктопов не особо писали.
ясен перец.
Сообщение от Hopkroft:
А что придумывать, если оно так и есть. Ты с книгами Дьюхэрста, Майерса или Уилсона знаком? Или работаем по принципу "компилиться - значит нету ошибок"?
я знаком со всем что мне надо, поверь.
Сообщение от Hopkroft:
хорошо заточенные ещё стерилизовать потом нужно
Сообщение от Hopkroft:
Если судить по количеству книг, как писать на С++ и не выстрелить себе в ногу, то тут ещё можно поспорить что являеться чудом природы
Умелый стрелок и голову себе снесет на чем бы не писал [Ответ]
Hopkroft 18:06 05.03.2014
Сообщение от Spectator:
я знаком со всем что мне надо, поверь.
судя по предыдущему посту
Сообщение от :
большое количество книг свидетельствует о популярности языка.
придумывать про "выстрелить в ногу" не надо.
я тебе уже давно разрешил сомневаться сколько угодно.
[Ответ]
Hopkroft 18:25 05.03.2014
Сообщение от Spectator:
я тебе уже давно разрешил сомневаться сколько угодно.
Ну как бы после этого поста
Сообщение от Spectator:
я за долгие годы использования плюсов знаю все его причуды до дыр.
я понял что сомнения по поводу твоих мега знаний не только у меня.
[Ответ]
Spectator 19:02 05.03.2014
Сообщение от Hopkroft:
Ну как бы после этого поста
я понял что сомнения по поводу твоих мега знаний не только у меня.
ну как бы я тебе еще раз говорю - сомневайся сколько угодно. что тебя как пластинку заело?
я тебе доказывать ничего не собираюсь, ты опоздал минимум лет на десять.
[Ответ]
manifest 12:05 06.03.2014
Сообщение от manifest:
MS в своем котле варится, со своими технологиями и "оригинальными" решениями. Я обычно узнаю о них по интернет мемам.
<сарказм>Убийца Siri и Google Now от MS.</сарказм>
[Ответ]
потный 12:42 06.03.2014
*А пока идут непрекращающиеся споры про нанотехнологии, делфи программист мышкой практически доделал свой очередной проект и скоро срубит на этом денег....
Чем больше технологий, тем ниже конкуренция при поиске работы.
[Ответ]