vit_r: default (vit_r)
[personal profile] vit_r
Вдогонку дискуссии с [livejournal.com profile] nponeccop тут и тут.

Стоит учитывать, что тулы, языки и методологии создаются для двух диаметрально противоположных целей:
  1. Максимально повысить эффективность инженера, автоматизировав в идеале всё кроме работы мозга
  2. Позволить максимально большому количеству левого народа изображать продуктивную работу, в идеале полностью выключив работу мозга (по крайней мере головного)


Емакс против Ворда
Оберон 2 против Явы
Шлейер-Меллор против RUP

Есть чёткие представители двух групп, где это видно. Есть такие варианты, которые лежат посредине. Но их следует признать просто неудачными попытками.

Естественно, работа на вторую группу гораздо выгоднее и приносит больше славы, почёта и уважения.

Date: 2013-08-29 06:58 am (UTC)
From: [identity profile] alexott.livejournal.com
Это если смотреть со стороны тулов и языков. Но все равно кто-то должен работать в первой группе, поскольку часто эти люди делают большую часть работы, по крайней мере на начальном этапе.

кстати, емакс против ворда - не совсем корректное сравнение. Тут правильней будет "против эклипса или VS" - которые позволяют мозг совсем не включать.

P.S. а по Шлейер-Меллор что посоветуешь почитать? (кроме "Object Life Cycles: Modeling the World in States", "Object Oriented Systems Analysis: Modeling the World in Data: Modelling the World in Data" и "How to Build Shlaer/Mellor Object Models"?

да и вообще, хотелось бы ссылок на полезные ресурсы про техники про которые ты регулярно говоришь

Date: 2013-08-29 07:50 am (UTC)
From: [identity profile] orleanz.livejournal.com
" Тут правильней будет "против эклипса или VS" - которые позволяют мозг совсем не включать.

ничего себе. я вот работал недавно еще в компании Крайтек, которая написала одну из самых адвансд gaming engine в мире, миллионы строки кода на С++, причем часто математатически и алгоритмически насыщенного (в отличии от многих энтерпрайз систем, где 99% ванильная бизнес логика).

вся работа всегда велась в Вижуал Студии. И что, там мозг был отключен, или, скажем так, МОГ быть отключен без последствий для кода?

Date: 2013-08-29 07:53 am (UTC)
From: [identity profile] alexott.livejournal.com
я написал "позволяют выключать", а не "выключают"... Я вижу столько кода который написан не приходя в сознание - человек просто колбасит код руководствуясь подсказками intellisense...

Date: 2013-08-29 08:04 am (UTC)
From: [identity profile] orleanz.livejournal.com
а может это и правильно? если пишешь что-то простое, система помогает тебе делать это максимально удобно. Если пишешь сложное, никто кроме мозга помочь не может. Где проблема?

Date: 2013-08-29 08:07 am (UTC)
From: [identity profile] alexott.livejournal.com
некоторые люди не различают простое и сложное, а просто колбасят код. У нас тоже VS используется, но люди обычно думают (в большинстве своем).

Мне вот сейчас индусы из соседнего подразделения выкатили 2500 строк для очень простого приложения, из которых примерно 1000 можно выкинуть без всяких последствий - именно потому-что им среды позволяют этот код колбасить, а не задумываться о его организации.

Date: 2013-08-29 07:51 pm (UTC)
From: [identity profile] vit-r.livejournal.com
Я думаю, что они всё-таки чаще копируют, чем колбасят. Причём, копируют найденное гуглом или в кусках кода рядом.

Date: 2013-08-29 07:53 pm (UTC)
From: [identity profile] vit-r.livejournal.com
Секрет в том, что всё простое можно не писать, а сокращать до библиотеки, внешней конфигурации, генерации из DSL и подобного. Это не только сокращает работу, но и избавляет от ошибок.

Date: 2013-08-29 08:12 pm (UTC)
From: [identity profile] vit-r.livejournal.com
Емакс против Ворда здесь только в смысле работы с текстом. Так как Емакс - это просто интерфейс к ядру ИИ, сравнивать его можно с чем угодно. Видел людей, которые живут только в его оболочке, включая почту и хождение по Интернету.

Ссылки на ресурсы мне ставить влом. Это получатся не записки на память в блоге, а справочный портал.

Шлейер-Меллор сейчас называется Executable UML. Про актуальное состояние не знаю, давно не слышал. Может совсем сдулись.

Есть книга Меллора Executable UML, есть Action Language в очередной версии UML на OMG, ещё какие-то книжки были, но сейчас копаться влом. По сайтам http://xtuml.org/ и http://www.ooatool.com/index.html

Книжка несколько лет обсуждалась в ньюсгруппе на yahoo. [executableuml] и [executableumlTools] Но не знаю, стоит ли это читать. Если тулы умерли, всё это представляет только исторический интерес. Разве что имена можно посмотреть. Там все люди в теме отметелись.

Date: 2013-08-30 06:19 am (UTC)
From: [identity profile] alexott.livejournal.com
я в емаксе практически так и живу, кроме интернета и рабочей почты (поскольку аутлук) :-)

за xtuml спасибо - на него еще не натыкался, про остальное я знаю

Date: 2013-08-29 07:23 am (UTC)
From: [identity profile] norguhtar.livejournal.com
Ну, а что делать. К примеру есть куча областей где надо нафигачить очень много кода для различных рутинных операций. При этом голову там с одной стороны включать не хочется, но с другой стороны хочется внятного качества кода ну или хотя бы такого кода который можно будет безболезненно потом переделать. А первый подход не позволяет этого делать так-как время тех кто умеет все же конечно как и сами те кто его умеет.

Date: 2013-08-29 07:56 pm (UTC)
From: [identity profile] vit-r.livejournal.com
надо нафигачить очень много кода для различных рутинных операций.

Правильный подход: использовать библиотеки, задавать параметрам или сделать компактный DSL, из которого эти "очень много кода" генерить нажатием кнопки.

Date: 2013-08-30 01:01 am (UTC)
From: [identity profile] norguhtar.livejournal.com
Это требует людей знающих DSL и библиотеки. Плюс в дальнейшем когда система передается на эксплуатацию может произойти такая банальная вещь как пропали люди знающие DSL и библиотеки. В итоге система превращается в ящик с магией. Опять же какие к примеру сейчас есть широко известные и широко используемые фреймворки и библиотеки использующие описанный подход?

Date: 2013-08-30 04:38 am (UTC)
From: [identity profile] vit-r.livejournal.com
Пардон. Изучить библиотеки или DSL на порядок проще, чем разобраться в куче малоструктурированного (и плохо документированного) кода.

Библиотеки - это везде и всюду. DSL тоже дофига и больше. Набрав XML markup language можно найти что угодно в любой области. Фреймворков без библиотек я тоже не встречал.

Date: 2013-08-30 04:47 am (UTC)
From: [identity profile] norguhtar.livejournal.com

Пардон. Изучить библиотеки или DSL на порядок проще, чем разобраться в куче малоструктурированного (и плохо документированного) кода.

Почему? Код вполне структурирован и укладывается в типичные методики работы с фреймворками. Просто я не встречал к примеру широкоизвестный MVC фреймворк с DSL. По этой причине у меня и вопросы. К примеру у нас есть типичное приложение для компаний. К примеру для обработки заявок. Там может быть пачка различных форм для CRUD операций. Типично для таких приложений берут какой-нибудь фреймворк и дальше делают или генерацию кода для CRUD или делают в ручную по определенным правилам. Ну или я не совсем понимаю что в данном контексте подразумевается под DSL.

Date: 2013-08-30 05:03 am (UTC)
From: [identity profile] vit-r.livejournal.com
Я не знаю нынешнее состояние веб фреймворков. Насколько понимаю, по поводу сокращения ненужных действий оно не очень хорошее. DSL - это, как правило, язык для работы с конкретной предметной областью.

Date: 2013-08-30 05:23 am (UTC)
From: [identity profile] norguhtar.livejournal.com
Ну если к примеру считать аннотации таким языком, то есть во все поля. К примеру типовая привязка в spring-framework для связки метода с запросом
@RequestMapping(value = "/client/{idClient}/contract/{idContract}/account/{idAccount}/edit", method = RequestMethod.GET)
Далее помещаем в специальный объект что вернуть. А из функции возвращаем строку указывающую на имя файла шаблона. А какой и откуда возьмется это уже фреймворк по настройкам сам сделает.

Date: 2013-08-29 09:05 am (UTC)
From: [identity profile] kouzdra.livejournal.com
Я кстати к Жабе очень хорошо отношусь именно как к очень стимулирующему продуктивность языку.

Date: 2013-08-29 07:50 pm (UTC)
From: [identity profile] vit-r.livejournal.com
Я к Жабе очень хорошо относился, когда она только появилась. А потом узнал про Оберон 2 и выяснил, что практически всё хорошая она спёрла из более полезных языков, а то, что добавила от себя, очень не очень.

Но люди торопились продать, так что думать о последствиях было некогда.

Date: 2013-08-29 08:09 pm (UTC)
From: [identity profile] orleanz.livejournal.com
" А потом узнал про Оберон 2 и выяснил

Я конечно понимаю что пугать молодешь никому неизвестным, умершим языком прикольный ход в полемике

но если сравнить

питоновское
print("hello world")

или даже сишное
#include
[Error: Irreparable invalid markup ('<stdio.h>') in entry. Owner must fix manually. Raw contents below.]

" А потом узнал про Оберон 2 и выяснил

Я конечно понимаю что пугать молодешь никому неизвестным, умершим языком прикольный ход в полемике

но если сравнить

питоновское
print("hello world")

или даже сишное
#include <stdio.h>
int main (void) {
printf ("Hello, world\n");
}

с обероновским

MODULE HelloWorld;
IMPORT Out;
BEGIN
Out.String("Hello World!");
Out.Ln;
END HelloWorld;

- то сразу возникают вопросы и сомнения.

Date: 2013-08-29 08:22 pm (UTC)
From: [identity profile] vit-r.livejournal.com
Я конечно понимаю что пугать молодешь никому неизвестным, умершим языком прикольный ход в полемике

Та молодёжь, которой интересно, как живут, как развиваются и почему затухают языки, просто обязана после этого пойти и почитать про Оберон 2. Причём, про его идеологию, историю и отношения с Явой. Остальная меня не интересует.

Да, смотри, пожалуйста, что у тебя с комментариями получается. <stdio.h> стоит писать только тогда, когда ты не во вводе HTML

Date: 2013-08-31 06:22 pm (UTC)
From: [identity profile] m e (from livejournal.com)
> Та молодёжь, которой интересно, как живут, как развиваются и почему затухают языки, просто обязана после этого пойти и почитать про Оберон 2. Причём, про его идеологию, историю и отношения с Явой.

где это прочитать? (хотя я и не молодежь)

Date: 2013-08-31 07:37 pm (UTC)
From: [identity profile] vit-r.livejournal.com
Первым делом, у меня на странице в самом верху специально весит список ссылок. Где почитать полностью - не знаю. Я интересовался вопросом, так что смотрел и то, что было в сети, и брал в университетской библиотеке учебник Вирта, а потом и учебник по Оберону 2. Плюс общался с людьми, которые его использовали.

Date: 2013-08-31 09:24 pm (UTC)
From: [identity profile] m e (from livejournal.com)
в упор не вижу списка ссылок (может он у меня ад-блочится как-то?)

верхняя страница, это как я понимаю, vit-r.livejournal.com/85690.html (и в профиле vit-r.livejournal.com/profile тоже не вижу списка ссылок)

Date: 2013-08-31 09:28 pm (UTC)
From: [identity profile] m e (from livejournal.com)
у жж, конечно, Офигенно Крутая Антиспам Система /сарказм/, т.к. отнесла к спаму мою мессагу с *не-html* ссылками *исключительно* на твой жж

Date: 2013-08-31 09:48 pm (UTC)
From: [identity profile] vit-r.livejournal.com
Если писать <а href="...">текст</а>, то в большинстве случаев проходит без проблем.
(deleted comment)

Date: 2013-08-29 08:16 pm (UTC)
From: [identity profile] vit-r.livejournal.com
Все эти возражения были бы справедливы при том условии, что большинство людей, по крайней мере большинство программистов, любило бы думать.

Что моим практическим опытом не подтверждается. Насчёт "большинство", естественно.

Date: 2013-08-30 05:00 am (UTC)
ext_646638: (Default)
From: [identity profile] rdia.livejournal.com
Прошу прощения, что стёр коммент - переобдумал. В общем, вы правы, есть две целевых функции минимизации, причём немного зависимые друг от друга:

1. Минимизация времени, затрачиваемой на работу.

2. Минимизация усилий мозга, затрачиваемых на работу.

Проблема в том, что мозга человеческая на довольно низком уровне пытается сама работать как можно меньше. Плюс, есть проблема "quis custodiet ipsos custodes" - именно мозг может заставить работать остальные части человека. Как же ему заставить работать себя?

Кстати, минимизация усилий мозга часто достигается и тупой игрой с вашими vim/emacs, в то время, когда нужно просто думать, максимум чертя на бумажке или вообще закрыв глаза.

-------------------------
С другой стороны, отсюда следует, что нужно переходить на новые языки со статической типизацией. Тогда хоть не нужно будет тратить ценные мозговые калории на контроль типов.

Date: 2013-08-30 05:23 am (UTC)
From: [identity profile] vit-r.livejournal.com
Статическая типизация хороша не всегда, не везде и не при всех условиях. Это тоже инструмент, который надо использовать в зависимости от задачи и контекста.

Profile

vit_r: default (Default)
vit_r

April 2026

S M T W T F S
    12 3 4
56 7 891011
12131415161718
19202122232425
2627282930  

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Apr. 11th, 2026 12:48 pm
Powered by Dreamwidth Studios