LINUX.ORG.RU
ФорумTalks

[Ненависть] [Java] бедная и длинная жаба

 ,


0

1

гуглим:

Perl copy file Python copy file

все делается в одну строчку

а теперь Java copy file

ага.

P.S. после конвертации одной библиотеки из Java в Python: http://code.google.com/p/java2python/

размер текста программы уменьшился на 25% (удалялось много ненужного кода)

Java такая Java.

Ответ на: комментарий от Cancellor

это HelloWorld

тем более, это болванка пропущенная через ANTLR-парсер

djenterprise
() автор топика

Ну, то есть, Perl и Python - для хрени, которая на bash в одну строчку, а жаба - видимо, для чего-то более серьёзного.

Собственно, никто и не сомневался.

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

>Жа́ба (жарг.) — искажённое название языка программирования Java — интерпетируемый язык

Поржал.

Да, а по теме — ява перегружена в силу наследия плюсов, т.е. многие вещи кажутся логичными в логике плюсов, но совершенно абсурдными. И да, по хелловордам о языке не стоит судить.

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

> т.е. многие вещи кажутся логичными в логике плюсов, но совершенно абсурдными.

примеры можно?
PS: только вот не надо про параметризированные типы и шаблоны :)

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

Ну элементарное создание объекта — Object a = new Object(...).

Потом все эти public, static и прочие, от них код становится ужасно громоздким.

vkos ★★
()

Ынтырпрайз смотрит на ТС как на ТС.

lester_dev ★★★★★
()

ТС видимо, кодер начального уровня и пока еще не сталкивался даже с обработкой ошибок, я так предполагаю. Алсо, у меня такое чувство, что ТС незнаком даже с библиотекой Apache Commons, не говоря уже о NIO, верно?

JFreeM ★★★☆
()

Тред не читал, но осуждаю

Karapuz ★★★★★
()
Ответ на: комментарий от djenterprise
import java.*;
 
class Test1 {
	public static void main(String[] args) {
		Integer a = 42;
		Integer b = 42;
		Integer c = 420;
		Integer d = 420;
		System.out.println(a==b); // true
		System.out.println(c<=d); // true
		System.out.println(c>=d); // true
		System.out.println(c==d); // false
 
		int[] a = {2,3}, b = {2,3};
		System.out.println(a.equals(b)); // false
	}
}

вынос моска

burzumko
()

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

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

Во-первых, кто в данном топике не знает про жабу? Во-вторых, аргументы нужны прежде всего для себя, а не для остальных. Если конечно есть желание конструктивно общаться, а не голословно троллить. В-третьих, так говорят только люди, у которых аргументов нет.

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

> Ну элементарное создание объекта — Object a = new Object(...).

и что здесь такого страшного и ужасного?

Потом все эти public, static и прочие, от них код становится ужасно громоздким.


эмм.. O_O

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

Про то, что Java ниже уровнем чем Perl/Python, автор забыл.

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

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

>Потом все эти public, static и прочие, от них код становится ужасно громоздким.

То ли дело пистон, в котором ничего этого нет. Гвидо малаца сделал!

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

> То ли дело пистон, в котором ничего этого нет. Гвидо малаца сделал!

а как в пистоне определяется область видимости методов объекта?

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

>вынос моска
Да ну?

import java.*;

Ну и зачем это?

System.out.println(a==b); // true

Тебе повезло. Компилятор догадался что-то оптимизировать и заменил 2 Integer'а одним. А в другом случае не догадался. В Java никто не гарантирует, что new Integer(42) == new Integer(42).

int[] a = {2,3}, b = {2,3};

System.out.println(a.equals(b)); // false


Ну правильно, опять же, это разные объекты. Если тебе надо сравнить поэлементно два массива, то нужно вызвать java.util.Arrays.equals(int[] a, int[] b)

proud_anon ★★★★★
()

Разбор GET-параметров в PHP - одна строчка, в Си для CGI - 9к

И вы так говорите, будто бы чем у вас длиннее, тем хуже)

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

> Потом все эти public, static и прочие, от них код становится ужасно громоздким.

поржал. «что такое модификатор доступа - не знаю, но до осуждаю.»

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

> поржал. «что такое модификатор доступа - не знаю, но до осуждаю.»

В питоне этого нету. Они верят друг другу

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

> На питоне как-то компактнее.

в вышеописанном примере на жабке все инты - объекты, и сравнивать их надо через a.equals(b).

вот тут можешь посмотреть список методов, которые можно из них вызывать: http://download.oracle.com/javase/1.4.2/docs/api/java/lang/Integer.html(нибаись, там мало буков)

всё это - собственные методы класса Integer

stevejobs ★★★★☆
()

Что сказать-то хотел?

ИМХО како-то поток нечитабельных слов без логической связи.

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

> В питоне этого нету. Они верят друг другу

чтобы спрятать что-то там можно впихать два подчеркивания перед ним. А константы делаются property. Сейчас быстро загуглил, и оказалось что в первых версиях Питона таки было полновесное управление доступом, «but this was dropped for lack of use».

stevejobs ★★★★☆
()

А есть ли конвертер из петона в жабу? Хочу попробовать себя в разработке под ведроид, но жабу осиливать жаба душит.

Quasar ★★★★★
()

Вообще жава многословна, да. Но пример ты для взброса выбрал плохой.

FileChannel in = new FileInputStream(from).getChannel();
FileChannel out = new FileOutputStream(to).getChannel();
in.transferTo(0, in.size(), out);

Не так уж и многословно. Учитывая, что transferTo гарантирует наиболее быстрое копирование на данной платформе. Это вроде как даже в стандарте есть.

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

a = [1, 2, 3]
b = [x**2 for x in a]
List<Integer> a = Arrays.asList(1, 2, 3);
List<Integer> b = Lists.transform(a, new Function<Integer, Integer>(){
  @Override
  public Integer apply(Integer from) {
    return from*from;
  }
});
dizza ★★★★★
()
Ответ на: комментарий от isden

>а как в пистоне определяется область видимости методов объекта?

Совестью программиста, а так all-public. А еще констант в нормальном понимании этого слова там нет. Просто уславливаются, что «вот эту переменную не меняем».

Поэтому программисты на питоне самые честные и порядочные изо всех программистов.

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

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

List(1, 2, 3) map {x => x * x}
for (x <- List(1, 2, 3)) yield x * x

И на JVM бывают нормальные языки.

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

> Совестью программиста, а так all-public. А еще констант в нормальном понимании этого слова там нет. Просто уславливаются, что «вот эту переменную не меняем».

там поди и абстрактных методов и интерфейсов нет, да?

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