OberonCore
https://forum.oberoncore.ru/

Обратная сторона мейнстрима...
https://forum.oberoncore.ru/viewtopic.php?f=27&t=1106
Страница 1 из 17

Автор:  Пётр Кушнир [ Четверг, 31 Июль, 2008 18:18 ]
Заголовок сообщения:  Обратная сторона мейнстрима...

Как известно, Блэкбокс не имеет к мейстриму никакого отношения... И ещё известно, что мейнстрим - это "круто"... Степень крутизны мейнстрима можно оценить по подобному программному продукту:
Цитата:
Система Rational Software Analyzer, по утверждениям IBM, способна выявлять баги на ранних стадиях разработки продукта, что позволяет экономить средства и время на последующей отладке и переработке кода. Стоит решение Rational Software Analyzer от 3500 долларов.

http://feeds.feedburner.com/~r/cl_news/~3/351462084/
Невольно задумаешься, насколько же кривы языки мейнстрима, чтобы IBM сподобилась на такое.

Автор:  Vlad [ Четверг, 31 Июль, 2008 18:47 ]
Заголовок сообщения:  Re: Обратная сторона мейнстрима...

Пётр Кушнир писал(а):
Невольно задумаешься, насколько же кривы языки мейнстрима, чтобы IBM сподобилась на такое.


Еще одна попытка повысить производительность индусов. Вполне возможно этот продукт даже окупает свою стоимость. Свойства языка здесь вообще не причем. Писали бы индусы на BB - была бы версия для BB.

Автор:  Борис Рюмшин [ Четверг, 31 Июль, 2008 19:02 ]
Заголовок сообщения:  Re: Обратная сторона мейнстрима...

Vlad писал(а):
Писали бы индусы на BB - была бы версия для BB.

Что с индусами так всё плохо? :)

Автор:  Иван Кузьмицкий [ Четверг, 31 Июль, 2008 19:03 ]
Заголовок сообщения:  Re: Обратная сторона мейнстрима...

Интересно, как быстро окупается использование небагливого и надёжного языка.

Автор:  Vlad [ Четверг, 31 Июль, 2008 19:06 ]
Заголовок сообщения:  Re: Обратная сторона мейнстрима...

Борис Рюмшин писал(а):
Vlad писал(а):
Писали бы индусы на BB - была бы версия для BB.

Что с индусами так всё плохо? :)


Вы еще не видели индусский код? :)

Автор:  Vlad [ Четверг, 31 Июль, 2008 19:16 ]
Заголовок сообщения:  Re: Обратная сторона мейнстрима...

Иван Кузьмицкий писал(а):
Интересно, как быстро окупается использование небагливого и надёжного языка.


Речь идет о багах в продукте, а не в языке.

Автор:  Иван Кузьмицкий [ Четверг, 31 Июль, 2008 19:19 ]
Заголовок сообщения:  Re: Обратная сторона мейнстрима...

А баги в продукте, значит, святым духом наносятся.

Автор:  Пётр Кушнир [ Четверг, 31 Июль, 2008 19:24 ]
Заголовок сообщения:  Re: Обратная сторона мейнстрима...

Разработка ПО через 5 лет: все пишут абы как, потом натравливают на то, что вышло, мега-софтину "Улучшатор" которая улучшает продукт... и лозунг: "Верьте своему Улучшатору!"

Автор:  Vlad [ Четверг, 31 Июль, 2008 20:02 ]
Заголовок сообщения:  Re: Обратная сторона мейнстрима...

Иван Кузьмицкий писал(а):
А баги в продукте, значит, святым духом наносятся.


Баги в продукте делают люди. Язык, конечно, может этому способствовать. Понятно, что на C++ индус наделает больше трудноуловимых багов, чем на джаве. Но в этом смысле каких-то принципиальных преимуществ оберон перед джавой не имеет. Скорее наоборот - IMPORT SYSTEM и вся обероновская безопасность идет лесом.

Автор:  Иван Кузьмицкий [ Четверг, 31 Июль, 2008 20:34 ]
Заголовок сообщения:  Re: Обратная сторона мейнстрима...

Больше-меньше, меньше-больше... Может, и больше, а может - меньше. Кто знает...

Что в новости привлекло - это IBM-овская попытка измерить код. Раз появился такой струментище, как RSA, то наверняка есть способ качественно оценивать написуемое. И делать сравнительные выводы.

Автор:  Vlad [ Четверг, 31 Июль, 2008 21:40 ]
Заголовок сообщения:  Re: Обратная сторона мейнстрима...

Пётр Кушнир писал(а):
Разработка ПО через 5 лет: все пишут абы как, потом натравливают на то, что вышло, мега-софтину "Улучшатор" которая улучшает продукт... и лозунг: "Верьте своему Улучшатору!"


Такие тулзы всегда были (тот же lint появился еще в 1979). И они хорошо делают то, что они делают. Просто не надо переоценивать их возможности (что легко сделать читая маркетинговые завления). Они позволяют улучшить код по каким-то определенным аспектам, не более того.

Автор:  Иван Кузьмицкий [ Четверг, 31 Июль, 2008 21:55 ]
Заголовок сообщения:  Re: Обратная сторона мейнстрима...

В сообщении названа конкретная цифра - "15-20 процентов багов", без учёта каких-либо аспектов. То есть, это явное признание - пятая часть всего количества ошибок вполне поддаётся автоматическому исправлению. Можно подумать, что это "родовые" ошибки, присущие мейнстриму как таковому. Ну не могут, не могут они иначе.

Так ведь эти ошибки допускаются не только индусами. Что проще - не допускать ошибок, или чесать код? Напоминает анекдот про комсомольцев, которые сено косят в противогазах, т.к. без трудностей работать не могут.

Автор:  Vlad [ Четверг, 31 Июль, 2008 23:38 ]
Заголовок сообщения:  Re: Обратная сторона мейнстрима...

Иван Кузьмицкий писал(а):
В сообщении названа конкретная цифра - "15-20 процентов багов", без учёта каких-либо аспектов.


Ну а что вы хотели от маркетологов? :) Нет, я допускаю, что за этими цифрами даже стоят какие-то "исследования", но относится к ним надо так же как и к средней температуре по больнице. Например в нашей конторе ( применительно к проектам на C++) баги, которые непосредственно можно списать на язык (ах этот гребанный C++, опять доступ по невалидному указателю) - это меньше 1% всех багов. Если от этого 1% отрезать "15-20%", то получится, что это тулза никогда не окупится в принципе. Но у нас нет индусов :)

Иван Кузьмицкий писал(а):
Так ведь эти ошибки допускаются не только индусами. Что проще - не допускать ошибок, или чесать код?


Чтобы не допускать - надо иметь соответствующую квалификацию. Опять же - оберон по сравнению с жабой здесь никак не панацея. Индус и на обероне будет писать такой же говнокод. А вот ответ на вопрос, что будет дешевле - "100 индусов + стоимость 100 инсталляций тулзы" или "100 индусов без тулзы" или "10 неиндусов" не так однозначен...

Автор:  Иван Кузьмицкий [ Пятница, 01 Август, 2008 00:12 ]
Заголовок сообщения:  Re: Обратная сторона мейнстрима...

Цитата:
Индус и на обероне будет писать такой же говнокод.


Такой же - это какой? Ну, чтоб предметно...

Автор:  Vlad [ Пятница, 01 Август, 2008 00:21 ]
Заголовок сообщения:  Re: Обратная сторона мейнстрима...

Иван Кузьмицкий писал(а):
Цитата:
Индус и на обероне будет писать такой же говнокод.


Такой же - это какой? Ну, чтоб предметно...


Ну вот первая ссылка с гугла:
http://lurkmore.ru/%D0%98%D0%BD%D0%B4%D ... 0%BE%D0%B4

Какой из приведенного там кода нельзя написать на обероне?

Автор:  Geniepro [ Пятница, 01 Август, 2008 15:12 ]
Заголовок сообщения:  Re: Обратная сторона мейнстрима...

Vlad писал(а):
Вы еще не видели индусский код? :)

Иногда я думаю, что индусский код не так уж безоснователен. Вот все смеются над таким кодом:
Код:
bool f = ...;
...
if (f.ToString().Length == 5)
{
...
}

И что же Вы думаете? Недавно мне пришлось делать что-то подобное (на F#).
Там задача была такая -- делаю SQL-запрос, получаю данные в виде массива объектов типа Object (поля записи), и нужно поместить эти поля в структуру с определёнными типами полей. Три поля типа String, четвёртое -- типа bool. Пришлось сделать так:
Код:
code    = c.ToString();
name    = n.ToString();
price   = p.ToString();
weight  = w.ToString().Chars(0) = 'T'; // bool

Вам смешно? А мне плакать хочется и от .NET'а, и от C#, и даже от F#... :о(
PS. Ну, может быть, я просто ещё не знаю толком этот F#, я только начал изучать и его, и .NET...

Автор:  Vlad [ Пятница, 01 Август, 2008 15:32 ]
Заголовок сообщения:  Re: Обратная сторона мейнстрима...

Geniepro писал(а):
weight = w.ToString().Chars(0) = 'T'; // bool


Вот такой код уже нельзя обвинить в индусскости:
weight = sql_bool( w );

Geniepro писал(а):
Вам смешно? А мне плакать хочется и от .NET'а, и от C#, и даже от F#... :о(
PS. Ну, может быть, я просто ещё не знаю толком этот F#, я только начал изучать и его, и .NET...


Не надо переоценивать роль ЯП (или даже платформы) в создании хорошего ПО... Я сам плююсь от многих "особенностей" .NET и C# в частности. Ну и что? Оберон всех спасет? Не спасет. И хаскель не спасет. "Надеемся только на крепость рук, на руки друга и вбитый крюк" (с) :)

Автор:  Иван Кузьмицкий [ Пятница, 01 Август, 2008 15:40 ]
Заголовок сообщения:  Re: Обратная сторона мейнстрима...

Попробую порассуждать.

Цитата:
uint i;

if (i.ToString().Length == 1)
{
...
}


Проверка i < 10. Алгоритм достаточно прост: выполняется преобразование i в строку, после чего вычисляется ее длина. Если число больше 9, то его десятичная запись содержит больше одного символа. Отрицательные числа переменная типа uint содержать не может. Проверку проходят лишь числа от 0 до 9.

Сразу бросается в глаза - с переменной типа uint обращаются так, будто это объект - через точку вызывают метод. Я, конечно, дико извиняюсь, но мне это кажется оксюмороном - какой, нафик, метод (!) у базового типа uint.

Ладно. Допустим, прорвался к нам индус, который владеет только операцией проверки на тождество. Ему придётся освоить обращение к модулю Strings, дабы преобразовать в строчку. Импортировать этот модуль. Завести ещё одну переменную, строковую - для хранения результата. Ознакомиться с функцией LEN(). Ознакомиться с функцией Strings.IntToString (и после этого вы будете утверждать, что он не владеет "<"? Хе-хе.). Но даже если он таки оформит такое, то у него получится примерно так:

Цитата:
PROCEDURE Hindi;
VAR i: INTEGER; s: ARRAY 10 OF CHAR;
BEGIN
Strings.IntToString(i, s);
IF LEN(s) = 1 THEN END;
END Hindi;

Смотрите.

Переменная i выделена в отдельный артефакт, границы которого легко распознаются даже самым затуманенным мозгом. Никаких хитровышлепанных операций над этим артефактом не сделать, ибо назвался груздём - полезай в кузов.
Символьный массив тоже выделен в отдельный артефакт - операции над ним не выходят за рамки сущности "массив".
Ну, конечно, тождество описывается издревле понятным даже индусам знаком "=", а не чОртовым ероглифом "==".

Это я к чему. Индусы ж наивные, как дети :) У них что Кришна, что Вишну - всё воедино. А тут и язык, как раз, позволяет одну сущность увидеть так, как будто это совсем другое. Майя, понимаете ли, иллюзия. Им это нормально. Они так мыслят.

Дайте индусу чёткие сущности, и он сразу отбросит пелену майи.

Автор:  ain [ Пятница, 01 Август, 2008 15:54 ]
Заголовок сообщения:  Re: Обратная сторона мейнстрима...

Не в этом дело, просто индусам нравиться именно так.
Это у них соревнование, кто хитропупее придумает.

Автор:  Vlad [ Пятница, 01 Август, 2008 15:56 ]
Заголовок сообщения:  Re: Обратная сторона мейнстрима...

Иван Кузьмицкий писал(а):
Дайте индусу чёткие сущности, и он сразу отбросит пелену майи.


Не убедительно. Совсем. Из вашего разбора для меня стало очевидно только то, что индусский код на обероне будет выглядеть еще страшнее - потому что писанины для трививльного действия стало в три раза больше.

P.S. Декларация отдельного массива только для того, чтобы преобразовать число в строку - это вообще песня. Из популярных ЯП таким страдает только C без плюсов...

Страница 1 из 17 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/