LINUX.ORG.RU
Ответ на: комментарий от anonymous

можно. просто фрагмент кода, который я сейчас редактирую

gaa ★★
() автор топика

Такое "безумие", в основном, до 1.5 было. Generics сильно помогают.

А вообще что такого страшного? Некрасиво, но вполне читабельно.

И, да, лисп рулит.

Legioner ★★★★★
()

Ну и что?

alert(store[["countApples","countOranges","countTomatoes"][["A","O","T"].indexO f(firstChar)]]) - вот это скобочное безумие.

Miguel ★★★★★
()

с помощью особо изкривленных рук можно даже на Идеальном ЯП написать быдлокод.

generatorglukoff ★★
()
Ответ на: комментарий от anonymfus

Да.

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

Legioner ★★★★★
()
Ответ на: комментарий от slav

> хрень на макросах

Побойся Профессора!

anonymous
()
Ответ на: комментарий от anonymous

Нечитаемая каша кода, это когда

Integer.valueOf(127) == Integer.valueOf(127) but Integer.valueOf(128) != Integer.valueOf(128)

Прибавим к этому автобоксинг, и получим незабываемые впечатления.

Legioner ★★★★★
()

Нашёл чем хвастаться :) Там, в жабе, continuations кстати есть уже? Я без флеймообразовательной цели спрашиваю, действительно интересно.

bugmaker ★★★★☆
()
Ответ на: комментарий от slav

>> В плюсах так разве нельзя?

>Есть какая-то хрень на макросах, делающая из c++ лисп.

Loki? Только не на макросах, а на шаблонах. (Хотя вру, несколько макросов тоже есть) Ну и вместо скобок там "<", ">"

anonymous
()
Ответ на: комментарий от bugmaker

С костылями вроде анонимных классов - есть. Нормальные вроде обещают в 7.

Legioner ★★★★★
()
Ответ на: комментарий от Legioner

так в джаве оператор == имеет не тот же смысл что и в с++.и что? от того что это другой язык он сразу плох? Для такого случая специально есть .equals().И этому учат в самаом начале. И где автобоксинг создаст проблемы? Примеры в студию.

theos ★★★
()
Ответ на: комментарий от theos

> так в джаве оператор == имеет не тот же смысл что и в с++. и что?

То, что оператор == это оператор сравнения. Для примитивных типов он срабатывает. К примеру возможны ситуации, когда в коде сначала были int-ы, а потом потребовалось использовать Integer-ы. Тогда нужно ОЧЕНЬ внимательно пересматривать весь код, всегда в голове держа этот авто(ан)боксинг и сравнение. Куда правильней было бы использовать == для сравнения реального (пусть неявно вызывая equals), а для сравнения ссылок, которое нужно в сотни раз реже, какой-нибудь другой оператор (или метод Object-а).

Legioner ★★★★★
()
Ответ на: комментарий от theos

> И где автобоксинг создаст проблемы? Примеры в студию.

public class Autoboxing {
	
	static public int foo(int v) {
		return v + 1;
	}
	
	public static void main(String ... args) {
		Integer v = null;
		System.out.println(foo(v));
	}
}

Eclipse поставил warning на вызов foo: The expression of type Integer is unboxed into int
Шаман однако :)

L_i_n_u_X
()
Ответ на: комментарий от L_i_n_u_X

Не вижу здесь никакой проблемы. Тогда код String s = null; return s.length - тоже считать проблемой? =). Кста, лучше это помечать не ворнингами а info - всё таки это сдандартное средство.

theos ★★★
()
Ответ на: комментарий от Legioner

>То, что оператор == это оператор сравнения. Для примитивных типов он срабатывает. К примеру возможны ситуации, когда в коде сначала были int-ы, а потом потребовалось использовать Integer-ы. Тогда нужно ОЧЕНЬ внимательно пересматривать весь код

+1. Не зная того, что Integer'ы кешируются именно до 127, никак не мог понять, почему у меня в JBForth в один прекрасный день циклы DO .. LOOP стали работать только до 127 :)

KRoN73 ★★★★★
()
Ответ на: комментарий от gaa

> Эмулятор JB на фортране?

На форте, ламо!

sv75 ★★★★★
()

В яве даже можно с помощью пары абзацев скобок и классов паттерн матчинг эмулировать. А уж с помощью дженериков можно писать в функциональном стиле. Но, это могут только разбирающиеся в компилировании, такии как Xenocefal, vsl, Mauhuur.

anonymous
()
Ответ на: комментарий от anonymous

> Но, это могут только разбирающиеся в компилировании, такии как Xenocefal, vsl, Mauhuur.

Ещё Профессор и XenoCoder умеют :)

gaa ★★
() автор топика
Ответ на: комментарий от anonymous

Вы наверно путаете, жвенерики в джаве ничего не могут, могут - в c++ и boostе есть соотв. библиотека....

theos ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.