avva: (Default)
[personal profile] avva
В новой версии Джавы можно будет вставлять двоичные литералы с префиксом 0b, выбирать внутри switch'а по строкам, и разделять цифры внутри числа подчеркиванием. Вся эта прелесть будет готова к следующей осени.

А про closures они еще не решили пока, думают.

Смешные люди все-таки.

Date: 2009-11-25 08:04 am (UTC)
From: [identity profile] javax-slr.livejournal.com
Не нужно closures.
Это всё шаги к нечитаемым программам на Джаве.

Вся идея джавы с самого начала была, что новичкам сложно сделать ошибки или написать нечитаемый и недебагируемый код. Даже ценой многословности и некоторой корявости.

Это всё придумывают те, кому не приходится чинить баги в программах написанных людьми с 2-3 года опыта

Date: 2009-11-25 08:13 am (UTC)
From: [identity profile] dimrub.livejournal.com
> Это всё придумывают те, кому не приходится чинить баги в программах написанных людьми с 2-3 года опыта

Мне кажется, более эффективный метод борьбы с этой проблемой - это не выдумывание сырого языка, а выработка четких style guides, и настаивание на их соблюдении. Тогда люди с 2-3 годами опыта очень быстро начинают писать качественный код.

Date: 2009-11-25 08:14 am (UTC)
From: [identity profile] javax-slr.livejournal.com
Ну как Вы можете настаивать на их соблюдении?

Язык конечно они выпустили сырой, но к версии 1.2 он был уже вполне хорош.

Надо только понимать задачи языка. А задачей была простота, даже ценой многословности

Date: 2009-11-25 08:16 am (UTC)
From: [identity profile] dimrub.livejournal.com
Ну как Вы можете настаивать на их соблюдении?

Обязательный (на уровне version control system) код ревью, до доведения кода до разумного уровня.

А задачей была простота, даже ценой многословности

Мне кажется, эти задачи начиная с определенной сложности/величины проекта, начинают друг с другом конфликтовать.

Date: 2009-11-25 08:40 am (UTC)
From: [identity profile] javax-slr.livejournal.com
Нельзя же всех заставить делать version control.
Да и всегда такие штуки не делают чтобы они не пропускали билд - спешка и т.д.

Ближе надо быть к народу, к реальным ситуациям в реальных фирмах.


Многословность в Джаве чаще всего (не всегда, правда) понятная.

Сравните Annonymous inner class и closure, который его заменяет.
С кложуром намного легче написать что то работающее, компактное но не читаемое, чем длинное и нечитаемое, не понятное с Annonymous inner class

Date: 2009-11-25 09:04 am (UTC)
From: [identity profile] dimrub.livejournal.com
Нельзя же всех заставить делать version control.

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

Да и всегда такие штуки не делают чтобы они не пропускали билд - спешка и т.д.

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

(no subject)

From: [identity profile] javax-slr.livejournal.com - Date: 2009-11-25 09:07 am (UTC) - Expand

(no subject)

From: [identity profile] dimrub.livejournal.com - Date: 2009-11-25 09:10 am (UTC) - Expand

(no subject)

From: [identity profile] javax-slr.livejournal.com - Date: 2009-11-25 09:14 am (UTC) - Expand

(no subject)

From: [identity profile] dimrub.livejournal.com - Date: 2009-11-25 09:17 am (UTC) - Expand

(no subject)

From: [identity profile] javax-slr.livejournal.com - Date: 2009-11-25 09:21 am (UTC) - Expand

(no subject)

From: [identity profile] dimrub.livejournal.com - Date: 2009-11-25 09:25 am (UTC) - Expand

(no subject)

From: [identity profile] javax-slr.livejournal.com - Date: 2009-11-25 09:27 am (UTC) - Expand

(no subject)

From: [identity profile] dimrub.livejournal.com - Date: 2009-11-25 09:39 am (UTC) - Expand

(no subject)

From: [identity profile] javax-slr.livejournal.com - Date: 2009-11-25 09:42 am (UTC) - Expand

(no subject)

From: [identity profile] dimrub.livejournal.com - Date: 2009-11-25 09:44 am (UTC) - Expand

(no subject)

From: [identity profile] javax-slr.livejournal.com - Date: 2009-11-25 09:46 am (UTC) - Expand

(no subject)

From: [identity profile] cmm.livejournal.com - Date: 2009-11-25 09:30 am (UTC) - Expand

(no subject)

From: [identity profile] javax-slr.livejournal.com - Date: 2009-11-25 09:34 am (UTC) - Expand

(no subject)

From: [identity profile] cmm.livejournal.com - Date: 2009-11-25 09:39 am (UTC) - Expand

(no subject)

From: [identity profile] javax-slr.livejournal.com - Date: 2009-11-25 09:43 am (UTC) - Expand

(no subject)

From: [identity profile] trurle.livejournal.com - Date: 2009-12-21 12:15 pm (UTC) - Expand

(no subject)

From: [identity profile] itman.livejournal.com - Date: 2009-11-25 03:29 pm (UTC) - Expand

(no subject)

From: [identity profile] dimrub.livejournal.com - Date: 2009-11-25 03:30 pm (UTC) - Expand

(no subject)

From: [identity profile] itman.livejournal.com - Date: 2009-11-25 03:33 pm (UTC) - Expand

(no subject)

From: [identity profile] dimrub.livejournal.com - Date: 2009-11-25 03:35 pm (UTC) - Expand

(no subject)

From: [identity profile] itman.livejournal.com - Date: 2009-11-25 03:42 pm (UTC) - Expand

(no subject)

From: [identity profile] dimrub.livejournal.com - Date: 2009-11-25 03:44 pm (UTC) - Expand

(no subject)

From: [identity profile] itman.livejournal.com - Date: 2009-11-25 03:47 pm (UTC) - Expand

(no subject)

From: [identity profile] hervejoncour.livejournal.com - Date: 2009-11-25 04:41 pm (UTC) - Expand

(no subject)

From: [identity profile] itman.livejournal.com - Date: 2009-11-25 04:44 pm (UTC) - Expand

(no subject)

From: [identity profile] hervejoncour.livejournal.com - Date: 2009-11-25 04:51 pm (UTC) - Expand

(no subject)

From: [identity profile] itman.livejournal.com - Date: 2009-11-25 04:56 pm (UTC) - Expand

(no subject)

From: [identity profile] hervejoncour.livejournal.com - Date: 2009-11-25 05:10 pm (UTC) - Expand

Date: 2009-11-25 09:18 am (UTC)
From: [identity profile] another-felix.livejournal.com
> Обязательный (на уровне version control system) код ревью, до доведения кода до разумного уровня.

Кто его будет делать? Времени едва хватает на то, чтобы бегло читать svn-логи, отпасая наиболее страшную писанину. Если выделять на слежение за неопытными хотя бы час (а и этого мало, если на проекте молодняка 2-3 человека, им ведь и пояснять надо, а не просто говорить, мол, тут фигня, сделай вот так) в день, за месяц теряешь 21 рабочий час, почти три рабочих дня.

Date: 2009-11-25 09:19 am (UTC)
From: [identity profile] dimrub.livejournal.com
Сравните это время со временем, которое приходится тратить на исправление и переписывание кода, написанного бесконтрольным молодняком, и на поиск и починку багов, которые они понаделали.

(no subject)

From: [identity profile] another-felix.livejournal.com - Date: 2009-11-25 09:29 am (UTC) - Expand

(no subject)

From: [identity profile] dimrub.livejournal.com - Date: 2009-11-25 09:38 am (UTC) - Expand

(no subject)

From: [identity profile] another-felix.livejournal.com - Date: 2009-11-25 11:57 am (UTC) - Expand

Date: 2009-11-25 09:23 am (UTC)
From: [identity profile] cmm.livejournal.com
Кто его будет делать? Времени едва хватает на то, чтобы бегло читать svn-логи, отпасая наиболее страшную писанину.

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

(no subject)

From: [identity profile] javax-slr.livejournal.com - Date: 2009-11-25 09:28 am (UTC) - Expand

(no subject)

From: [identity profile] cmm.livejournal.com - Date: 2009-11-25 09:33 am (UTC) - Expand

(no subject)

From: [identity profile] javax-slr.livejournal.com - Date: 2009-11-25 09:35 am (UTC) - Expand

(no subject)

From: [identity profile] cmm.livejournal.com - Date: 2009-11-25 09:41 am (UTC) - Expand

(no subject)

From: [identity profile] javax-slr.livejournal.com - Date: 2009-11-25 09:44 am (UTC) - Expand

(no subject)

From: [identity profile] cmm.livejournal.com - Date: 2009-11-25 09:49 am (UTC) - Expand

(no subject)

From: [identity profile] hervejoncour.livejournal.com - Date: 2009-11-25 05:15 pm (UTC) - Expand

(no subject)

From: [identity profile] another-felix.livejournal.com - Date: 2009-11-25 09:32 am (UTC) - Expand

(no subject)

From: [identity profile] cmm.livejournal.com - Date: 2009-11-25 09:34 am (UTC) - Expand

(no subject)

From: [identity profile] another-felix.livejournal.com - Date: 2009-11-25 09:49 am (UTC) - Expand

(no subject)

From: [identity profile] cmm.livejournal.com - Date: 2009-11-25 09:54 am (UTC) - Expand

(no subject)

From: [identity profile] another-felix.livejournal.com - Date: 2009-11-25 11:58 am (UTC) - Expand

(no subject)

From: [identity profile] trurle.livejournal.com - Date: 2009-12-21 12:17 pm (UTC) - Expand

Date: 2009-11-25 04:37 pm (UTC)
From: [identity profile] hervejoncour.livejournal.com
вы имеете в виду design patterns?

Date: 2009-11-25 04:38 pm (UTC)
From: [identity profile] dimrub.livejournal.com
Нет, design patterns - это другое.

Date: 2009-11-25 04:55 pm (UTC)
From: [identity profile] hervejoncour.livejournal.com
а что вы подразумеваете под style guides? У всех, наверное, уже есть 2 книжки Joshua Bloch "Effective Java", вроде как талмуд ( пардон муа ) для программеров, однако читал я недавно интервью( или блог ) какого-то САН-овского человека, который критиковал бедного Джошуа на чем свет стоит. Стиль все же понятие относительное.

(no subject)

From: [identity profile] dimrub.livejournal.com - Date: 2009-11-25 04:59 pm (UTC) - Expand

(no subject)

From: [identity profile] hervejoncour.livejournal.com - Date: 2009-11-25 05:09 pm (UTC) - Expand

Date: 2009-11-25 10:01 am (UTC)
From: [identity profile] cleam.livejournal.com
Closure еще не самое страшное, они сделали инструкцию invokedynamic (http://blogs.sun.com/jrose/entry/dynamic_invocation_in_the_vm) и собираются делать к ней специальный класс в языке java.dyn.Dynamic, у которого можно будет вызывать любые методы, а комрилятор их проверять не будет и будет транслировать вызовы в invokedynamic. Т.е.

public static void l(java.dyn.Dynamic obj) {
println(obj.size())
}

public static main(String[] args) {
l(new HashMap());
l(new ArrayList());
}

будет компилироваться.

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

Date: 2009-11-25 10:03 am (UTC)
From: [identity profile] javax-slr.livejournal.com
Оню включили это в Джаву 7???

Бля, всё. Делать тут нечего. Давайте линк на учебник по C#

Date: 2009-11-25 10:06 am (UTC)
From: [identity profile] cleam.livejournal.com
В JVM иструкция invokedynamic точно будет. Что касается, фичи языка — не уверен. Они там так часто меняют решения, что я запутался уже.

А в c# разве аналога java.dyn.Dynamic нет? Мне казалось, что есть...

Date: 2009-11-25 10:09 am (UTC)
From: [identity profile] cmm.livejournal.com
есть, ага.
шеф, всё пропало!

Date: 2009-11-25 10:22 am (UTC)
From: [identity profile] javax-slr.livejournal.com
Если в мапине - не так страшно. Чайники на байткоде не пишут :)

ДО диез я не знаю

Date: 2009-11-26 12:06 am (UTC)
From: [identity profile] ygam.livejournal.com
В C# 4.0 есть.

Date: 2009-11-25 10:15 am (UTC)
From: [identity profile] cmm.livejournal.com
ты конечно в курсе что в диезе есть эти самые замыкания, да?
и много чего ещё.

Date: 2009-11-25 05:16 pm (UTC)
From: [identity profile] meshko.livejournal.com
Я считаю, что даже генерикс не надо было совать. Лучше бы filechooser починили.

Date: 2009-11-25 05:18 pm (UTC)
From: [identity profile] javax-slr.livejournal.com
generics вещь хорошая, но криво реализован с ними рефлекшн из за обратной совместимости

Date: 2009-11-25 05:46 pm (UTC)
From: [identity profile] meshko.livejournal.com
Хорошая плохореализованная вещь -- это самое страшное. В голову приходит COM Interop в .NET -- вещь не просто хорошая, а совершенно необходимая... но местами реализованная так, что часто думаешь, что лучше бы ее не было.

Date: 2009-11-26 11:00 am (UTC)
From: [identity profile] ok-its-the-last.livejournal.com
Почему язык с богатыми возможностями - это плохо? Новички их всё равно не используют.

Date: 2009-11-26 01:11 pm (UTC)
From: (Anonymous)
Да нет же, в том-то и беда, что новички их используют.

Date: 2009-11-26 01:18 pm (UTC)
From: [identity profile] ok-its-the-last.livejournal.com
Я чаще видел плохой код, который был плохим именно из-за незнания возможностей языка/среды. Типа такого http://thedailywtf.com/Articles/The-Clever-Coder.aspx

December 2025

S M T W T F S
  123 4 56
78 9 10 11 1213
1415 1617181920
21 22 23 24 2526 27
28293031   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Dec. 29th, 2025 08:28 pm
Powered by Dreamwidth Studios