VirtualIreland.ru - Виртуальная Ирландия
Вернуться   VirtualIreland.ru - Виртуальная Ирландия > Живем в Ирландии > IT и Связь

IT и Связь Обсуждение "айтишных" вопросов и средств связи

Ответ
 
Опции темы Опции просмотра
Старый 23.01.2008, 10:31   #61
Заслуженный Участник
 
Откуда: Dublin
Сообщений: 1,290
Благодарности: 552 в 253 сообщениях Поиск благодарностей Ludwig
По умолчанию Re: Раннее знакомство с Java калечит судьбы программистов?

Цитата:
придумали абстракции более высокого уровня, которыми проще и самое главное более продуктивно оперировать
Более продуктивно работать - вот кого это касается? Тех кто otherwise вообще не смог бы работать - это да, согласен.

И джава - это не абстракция, а сильное упрощение на самом деле. Полезная для кодирования абстракция - это например лямбда-исчисление, closures, yield semantics, или к примеру отмена типизации (спорно), да и ООП вобщем-то тоже заняло свое место под солнцем. Это все есть абстракции. А Джава/C# не дают ничего нового, это просто кастрация некоторых - лишь некоторых - хороших абстракций - вот в чем проблема.
Ludwig вне форума   Ответить с цитированием

Зарегистрируйтесь или войдите под своим именем, чтобы спрятать этот рекламный блок
Старый 23.01.2008, 10:47   #62
дядечка предпенсионного возраста
 
Аватар для Oleg123
 
Откуда: Milky Way
Сообщений: 3,137
Благодарности: 2,298 в 988 сообщениях Поиск благодарностей Oleg123
По умолчанию Re: Раннее знакомство с Java калечит судьбы программистов?

Цитата:
Сообщение от Ludwig Посмотреть сообщение
Более продуктивно работать - вот кого это касается? Тех кто otherwise вообще не смог бы работать - это да, согласен.
Про продуктивность не согласен, правильная абстракция повышает продуктивность как умного, так и не очень умного или я что то в абстракциях не понимаю.

Цитата:
Сообщение от Ludwig Посмотреть сообщение
И джава - это не абстракция, а сильное упрощение на самом деле.
Упрощение это как раз основная цель любой абстракции. То есть мы как бы абстрагируемся от ненужных деталей, тем самым сосредоточившись на важном.

Ссылку не нашел, в общем однажды наткнулся в сети на сайт конторы, которая рабоатет для DoD и которая всякими очень будущими исследованиями занимается. Там от программистов помимо секьюрити клиренс еще требовалось продемонстрировать стиль программирования. То есть обычно при приеме на работу про мой стиль никто не спрашивает.
__________________
Ну, разумеется, - подхватил Степан Аркадьич. - Но в этом-то и цель образования: изо всего сделать наслаждение. (c) Толстой Л.Н.
Oleg123 вне форума   Ответить с цитированием
Старый 23.01.2008, 11:11   #63
Заслуженный Участник
 
Откуда: Dublin
Сообщений: 1,290
Благодарности: 552 в 253 сообщениях Поиск благодарностей Ludwig
По умолчанию Re: Раннее знакомство с Java калечит судьбы программистов?

Цитата:
Упрощение это как раз основная цель любой абстракции.
Совершенно верно, абстракция - это обобщение, или упрощение. Но мы говорим о разных вещах.

Джава - это упрощение в том смысле, что в нем урезаны какие-то абстракции просто потому, что Комитет решил "это слишком сложно, и будет не по зубам многим".

Где например лямбда-функции, которые раньше были чем-то экзотическим, но сейчас уже есть во всех мейнстримовых языках - Python, Ruby и JavaScript (ECMA)? Между прочим в таких языках как Lisp и Scheme, реализация лямбда-исчисления и closures настолько мощное, что оно покрывает и ООП. Но это уже та самая "квантовая механика".

И плюс, если Джава заставляет много писать, можно ли считать это упрощением?
Ludwig вне форума   Ответить с цитированием
Благодарность от:
Oleg123 (23.01.2008)
Старый 23.01.2008, 12:26   #64
дядечка предпенсионного возраста
 
Аватар для Oleg123
 
Откуда: Milky Way
Сообщений: 3,137
Благодарности: 2,298 в 988 сообщениях Поиск благодарностей Oleg123
По умолчанию Re: Раннее знакомство с Java калечит судьбы программистов?

Цитата:
Сообщение от Ludwig Посмотреть сообщение
Где например лямбда-функции
По идее в Джаве должно быть многое, если не встроенное, то в виде библиотек уж точно. Вот например можно здесь посмотреть для начала http://www.ibm.com/developerworks/li...l?ca=drs-j2904 .
__________________
Ну, разумеется, - подхватил Степан Аркадьич. - Но в этом-то и цель образования: изо всего сделать наслаждение. (c) Толстой Л.Н.
Oleg123 вне форума   Ответить с цитированием
Старый 23.01.2008, 12:39   #65
Заслуженный Участник
 
Откуда: Dublin
Сообщений: 1,290
Благодарности: 552 в 253 сообщениях Поиск благодарностей Ludwig
По умолчанию Re: Раннее знакомство с Java калечит судьбы программистов?

Цитата:
Сообщение от Oleg123 Посмотреть сообщение
По идее в Джаве должно быть многое, если не встроенное, то в виде библиотек уж точно. Вот например можно здесь посмотреть для начала http://www.ibm.com/developerworks/li...l?ca=drs-j2904 .
Прошелся по статье - прекрасно, только в функциональных языках эти вещи записываются в 20-30 раз короче. То есть буквально класс (public class MyGreatClosureClass implements public void blah-blah) плюс его instantiation (MyGeatClosureClass myGreatClosureInstance = new MyGeatClosureClass() blah blah blah) заменяется одной строкой в JavaScript: function() { ... } или в Lisp: (lambda ...). Вот об этом была речь в том треде. Сошлись на том, что кому-то проще писать в 20-30 длиннее или читать чужой код, который во столько же раз длиннее. Ну и... прекрасно!
Ludwig вне форума   Ответить с цитированием
Благодарность от:
Oleg123 (23.01.2008)
Старый 23.01.2008, 12:59   #66
дядечка предпенсионного возраста
 
Аватар для Oleg123
 
Откуда: Milky Way
Сообщений: 3,137
Благодарности: 2,298 в 988 сообщениях Поиск благодарностей Oleg123
По умолчанию Re: Раннее знакомство с Java калечит судьбы программистов?

Про длинну да особо не поспоришь ибо функции короче любых выражений императивных языков, но вот про удобство прочтения и понимания можно спорить.
Хотя я согласен сойтись, на чем предлагает сойтись Людвиг. То есть прекрасно все так как оно и есть, хоть у некоторых, включая меня и вызывает периодически раздражение. Но на то мы и живые, чтобы раздражаться иногда .
__________________
Ну, разумеется, - подхватил Степан Аркадьич. - Но в этом-то и цель образования: изо всего сделать наслаждение. (c) Толстой Л.Н.

Последний раз редактировалось Oleg123, 23.01.2008 в 13:10.
Oleg123 вне форума   Ответить с цитированием
Благодарность от:
Kot (23.01.2008)
Старый 23.01.2008, 13:53   #67
Заслуженный Участник
 
Аватар для OgreSwamp
 
Откуда: RU->IE->SG->IE
Сообщений: 3,168
Благодарности: 2,087 в 932 сообщениях Поиск благодарностей OgreSwamp
Отправить сообщение для  OgreSwamp с помощью ICQ
По умолчанию Re: Раннее знакомство с Java калечит судьбы программистов?

Цитата:
Сообщение от Ludwig Посмотреть сообщение
А чего это я злюсь, собственно? Потому что программирование становится более ширпотребным, оно преврашается в командное клепание некачественного кода
Да не от этого вы злитесь Я где-то видел исследование. Так-же злятся и в других отрослях IT индустрии. Просто раньше программист/админ итд был вроде священного гуру, а сейчас это обычный инженер/сотрудник. Раньше админу безграмотные юзеры чуть ли не челом о земь били, чтобы тот что-нить сделал. А сейчас админы стали рядовыми сотрудниками. Это нормальный рост IT индустрии. Естественно тем, кто стоял у истоков обидно, что наука превратилась в ремесло, но вы всегда можете уйти в науку, а не клепать тонких клиентов Вот я знаю, что на J2EE заработывают больше, но мне нравится работать с картами, ну нравится и все тут Вы просто ИМХО представляете java именно J2EE. А в моей области нет таких примитивов как int, double, long, float, char. На всем экономят Естесвенно нет никаких String, и паковать биты в байты приходится часто. И читать тонны стандартов. И все это используя такой "кривой" язык как java.
Уходите в embedded программирование, или в куда-нить где научные задачи решают, и вас перестанут раздражать те, кто пишет на java. Будете копаться в своей песочнице
OgreSwamp вне форума   Ответить с цитированием
Благодарностей: 3 от:
DiMa74 (23.01.2008), Kot (23.01.2008), Oleg123 (23.01.2008)
Старый 23.01.2008, 14:38   #68
Заслуженный Участник
 
Откуда: Dublin
Сообщений: 1,290
Благодарности: 552 в 253 сообщениях Поиск благодарностей Ludwig
По умолчанию Re: Раннее знакомство с Java калечит судьбы программистов?

Цитата:
Сообщение от Oleg123 Посмотреть сообщение
Про длинну да особо не поспоришь ибо функции короче любых выражений императивных языков, но вот про удобство прочтения и понимания можно спорить.
Нет, все таки доведем до конца, где тут неудобство прочтения? -

Код:
function make_incrementor(a)
{
    return function(b) { return a + b; }
}
против где-то 7-8 строк на Джаве (класс + создание объекта), а о количестве слов я не говорю - просто ужас А это еще JavaScript, он вобщем-то вербозный.

Lisp и прочие товарищи с их, пардон, хитрожопыми парадигмами - это такая штука, они даются нелекго, но если однажды ты испытываешь GOT IT, то никто на свете не сможет заставить тебя писать длиннее или мыслить everyting-OO. Сам Лисп используется скорее редко, но он развивает вкус к языкам и программированию вообще, когда начинаешь действительно понимать что красиво а что нет. Тогда к лопате и экскаватору добавляются еще куча супер-кибер-экскаваторов, которые могут вырыть траншею шириной хоть в 1см, хоть в 5м

И что интересно, люди, которые прошли через это никогда не скажут "языки - это дело вкуса". Это вообще неправильная фраза, некое убежище для тех, кто вкуса на самом деле не имеет, если называть вещи своими именами. Все сказанное тут может быть неправильно понято, но я спорить уже не буду


OgreSwamp, нет, это не вопрос того, что я больше не бог или что могу остаться невостребованным - вопрос так не стоит. Собственно уже все сказал в том длинном комменте. Просто сторонникам Джавы и C# следует, мягко говоря, попытаться не защищать свою позицию, потому что это выглядит смешно. Кодируете - кодируйте на здоровье, я сейчас тоже полез в это болото, C# конкретно, но хотя бы не надо защишать эту фигню
Ludwig вне форума   Ответить с цитированием
Благодарность от:
Oleg123 (23.01.2008)
Старый 23.01.2008, 14:55   #69
дядечка предпенсионного возраста
 
Аватар для Oleg123
 
Откуда: Milky Way
Сообщений: 3,137
Благодарности: 2,298 в 988 сообщениях Поиск благодарностей Oleg123
По умолчанию Re: Раннее знакомство с Java калечит судьбы программистов?


a и b читаются конечно без проблем, но речь не о том, речь о том что логику кода понять труднее, не говоря уже о бизнес логике, которую этот код представляет. Потому что для описания бизнес логики аналисты часто используют обычный английский язык, а императивные языки ближе к обычным языкам, чем функции.
А быстро понять бизнес логику программером (новичком например), представляемую кодом для бизнеса важнее. Поэтому например у нас на проектах красоту и краткость кода легко приносят в жертву нагладности кода и даже его соответствию видению аналитика, то есть если порой аналитик видит где то цикл, а кодеру проще рекурсию туда воткнуть, то если он все таки воткнет туда рекурсию, то его поправят старшие товарищи. Ужоос. Согласен, но селяви.

И прав OgreSwamp, есть другие задачи, где наверно функции будут более уместны, пусть даже и не легко читабельны.

Цитата:
Сообщение от Ludwig Посмотреть сообщение
Нет, все таки доведем до конца, где тут неудобство прочтения? -

Код:
function make_incrementor(a)
{
    return function(b) { return a + b; }
}
против где-то 7-8 строк на Джаве (класс + создание объекта), а о количестве слов я не говорю - просто ужас
__________________
Ну, разумеется, - подхватил Степан Аркадьич. - Но в этом-то и цель образования: изо всего сделать наслаждение. (c) Толстой Л.Н.
Oleg123 вне форума   Ответить с цитированием
Благодарность от:
Ludwig (23.01.2008)
Старый 23.01.2008, 15:27   #70
Заслуженный Участник
 
Откуда: Dublin
Сообщений: 1,290
Благодарности: 552 в 253 сообщениях Поиск благодарностей Ludwig
По умолчанию Re: Раннее знакомство с Java калечит судьбы программистов?

Oleg123:

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

Так вот, схема анализ -> код -> тестирование и все многочисленные промежуточные фазы применяется в больших, неповоротливых и как результат - неэффективных компаниях. И вот именно для них и созданы Java/C#. Эти языки предназначены для начальников и аналитиков, скорее чем для программистов.

А значит если небольшой, шустрый стартап, для которого эффективность разработки очень критична, выбирает Джаву - это однозначно большая ошибка. Для эффективной разработки есть языки получше, так же как и программисты классом повыше.
Ludwig вне форума   Ответить с цитированием
Старый 23.01.2008, 15:34   #71
дядечка предпенсионного возраста
 
Аватар для Oleg123
 
Откуда: Milky Way
Сообщений: 3,137
Благодарности: 2,298 в 988 сообщениях Поиск благодарностей Oleg123
По умолчанию Re: Раннее знакомство с Java калечит судьбы программистов?

Цитата:
Сообщение от Ludwig Посмотреть сообщение
Oleg123:

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

Так вот, схема анализ -> код -> тестирование и все многочисленные промежуточные фазы применяется в больших, неповоротливых и как результат - неэффективных компаниях. И вот именно для них и созданы Java/C#. Эти языки предназначены для начальников и аналитиков, скорее чем для программистов.

А значит если небольшой, шустрый стартап, для которого эффективность разработки очень критична, выбирает Джаву - это однозначно большая ошибка. Для эффективной разработки есть языки получше, так же как и программисты классом повыше.
В целом согласен, единственно над чем можно поразмышлять так это классные программисты особенно признанные и зарплату хотят повыше.
__________________
Ну, разумеется, - подхватил Степан Аркадьич. - Но в этом-то и цель образования: изо всего сделать наслаждение. (c) Толстой Л.Н.
Oleg123 вне форума   Ответить с цитированием
Старый 23.01.2008, 15:36   #72
Заслуженный Участник
 
Откуда: Dublin
Сообщений: 1,290
Благодарности: 552 в 253 сообщениях Поиск благодарностей Ludwig
По умолчанию Re: Раннее знакомство с Java калечит судьбы программистов?

Цитата:
Потому что для описания бизнес логики аналисты часто используют обычный английский язык, а императивные языки ближе к обычным языкам, чем функции.
Это очень спорно, на самом деле. Все формальные языки далеки от английского, как ни крути, но отличаются они по лаконичности.

Ludwig добавил 23.01.2008 в 16:43
Цитата:
Сообщение от Oleg123 Посмотреть сообщение
В целом согласен, единственно над чем можно поразмышлять так это классные программисты особенно признанные и зарплату хотят повыше.
Это правда. Но чего не видят те, "плохие" компании, которые неповоротливые, неэффективные итд, что если вместо N высококлассных они берут N * M посредственных за более низкую зарплату, то они могут проиграть in the long run из-за того, что на сопровождение плохого продукта уйдет больше ресурсов. Плохой код и все что его сопровождает - долгий пинг-понг между тQA и программистами, бесконечная вереница патчей итд - увлекает настолько, что начинает казаться нормой, и люди теряют из виду насколько они усложнили себе жизнь. Не стал бы этого утверждать, если бы не видел во многих компаниях.

Последний раз редактировалось Ludwig, 23.01.2008 в 15:43. Причина: Добавлено сообщение
Ludwig вне форума   Ответить с цитированием
Благодарность от:
Oleg123 (23.01.2008)
Старый 23.01.2008, 15:58   #73
дядечка предпенсионного возраста
 
Аватар для Oleg123
 
Откуда: Milky Way
Сообщений: 3,137
Благодарности: 2,298 в 988 сообщениях Поиск благодарностей Oleg123
По умолчанию Re: Раннее знакомство с Java калечит судьбы программистов?

Цитата:
Сообщение от Ludwig Посмотреть сообщение
Это очень спорно, на самом деле. Все формальные языки далеки от английского, как ни крути, но отличаются они по лаконичности.
возможно все и далеки но императив ближе
http://en.wikipedia.org/wiki/Imperative_programming
__________________
Ну, разумеется, - подхватил Степан Аркадьич. - Но в этом-то и цель образования: изо всего сделать наслаждение. (c) Толстой Л.Н.
Oleg123 вне форума   Ответить с цитированием

Зарегистрируйтесь или войдите под своим именем, чтобы спрятать этот рекламный блок
Старый 23.01.2008, 16:11   #74
Заслуженный Участник
 
Откуда: Dublin
Сообщений: 1,290
Благодарности: 552 в 253 сообщениях Поиск благодарностей Ludwig
По умолчанию Re: Раннее знакомство с Java калечит судьбы программистов?

Oleg123,

Мы вобщем говорим не об imperative vs. functional, а скорее о стиле программирования.

Очень хорошо, я сейчас как раз думал, а чем же в самом деле ОО подход, который в статье IBM, лучше или хуже в смысле читабельности моего варианта на JavaScript?

Предположим я ставлю такую задачу: нужна функция f(a, b) (пусть это будет сложение a и b для простоты) но a меняется гораздо реже b. Это и есть вся задача на человеческом языке.

В JavaScript это записывается в максимально компактной и вполне понятной форме - понятной для тех, кто знает что такое безымянная функция.

Теперь Джава: я вижу в коде

MyGreatClosureClass MyGreatClosureObject = new MyGreateClosureClass();
MyGreateClosureObject.Run();

и класс естесвенно определен в другом месте. Значит мне надо идти туда, к определению класса, прочесть его, еще обнаружить, что он произведен от некоего Runner - wtf? - искать документацию про Runner, итд. Итого времени уйдет больше, просто потому, что больше вещей написано, причем они еще и разбросаны. Это примерно как читая обычный текст, уйти в сноску, потом в другую сноску, а потом окончательно упустить нить того, что ты читал.

Так что выглядит более человечно?

P.S. там на самом деле должно быть еще
MyGreatClosureObject.b = что-то; - еще одна строка.

Последний раз редактировалось Ludwig, 23.01.2008 в 16:27.
Ludwig вне форума   Ответить с цитированием
Благодарность от:
Oleg123 (23.01.2008)
Старый 23.01.2008, 17:50   #75
Заслуженный Участник
 
Аватар для OgreSwamp
 
Откуда: RU->IE->SG->IE
Сообщений: 3,168
Благодарности: 2,087 в 932 сообщениях Поиск благодарностей OgreSwamp
Отправить сообщение для  OgreSwamp с помощью ICQ
По умолчанию Re: Раннее знакомство с Java калечит судьбы программистов?

Оу щит, Ludwig
Пожалуй действительно стоит прекратить дискуссию (о чем я говорил в саамом первом посте). Извините канечно, но от вас таки разит максимализмом. На сим откланиваюсь и ухожу из темы. Больше дискутировать не вижу смысла.
OgreSwamp вне форума   Ответить с цитированием
Благодарность от:
Kot (24.01.2008)
Ответ



Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать на сообщения
Вы не можете добавлять вложения
Вы не можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщ.
Вопрос: Ирландия, первое знакомство Аметист Путешествия и Отдых 2 09.02.2007 10:56
Программистов освободят от налогов AlexM IT и Связь 2 13.05.2006 08:03
Группа web-программистов ищет удаленную работу Mnemonick Работа в Ирландии 7 09.02.2006 13:04
ОС Java ДВ Lammo IT и Связь 74 29.07.2005 15:49
Работа для программистов на PHP Arte Работа в Ирландии 2 09.03.2004 13:47


Часовой пояс GMT, времени сейчас: 01:39.


vBulletin®, Copyright ©2000-2025, Jelsoft Enterprises Ltd., Русификация: zCarot, Vovan & Co
©2003-2025 VirtualIreland.ru - Виртуальная Ирландия