![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| niasilil |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 325 Регистрация: 4.6.2007 Где: USA Репутация: 8 Всего: 9 |
Операции с матрицами и векторами как удобно было бы делать если можно было определить свое значение оператора. Кому бы это помешало?!
Verbatim literals - это же вообще безобразие. Почему нет?! Чего вам лично не хватает в Java? И самое главное - почему это до сих пор не реализовано? -------------------- SCJP 5.0, SCJD |
|||
|
||||
| serger |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 518 Регистрация: 19.6.2007 Где: Ижевск Репутация: 1 Всего: 5 |
Я думаю, чем меньше изначально засорен язык конструкциями, тем лучше. А вот хорошая стандартная библиотека намного важнее.
-------------------- упс! |
|||
|
||||
| w1nd |
|
|||
![]() Вертилятор ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1077 Регистрация: 22.3.2006 Где: Москва Репутация: 20 Всего: 54 |
На переопределение операций я соглашусь только в том случае, если компиляторы и ide будут явно указывать на факт переопределения (т. е. соответствующая метаинформация будет внедрена в классы), а также появятся дополнительные возможности по их отладке (это уже больше за счёт ide). Иначе придётся работать только в одиночку
Чего не хватает:
Это сообщение отредактировал(а) w1nd - 14.3.2008, 01:52 -------------------- ![]() ![]() |
|||
|
||||
| serger |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 518 Регистрация: 19.6.2007 Где: Ижевск Репутация: 1 Всего: 5 |
> множественного наследования;
> деструкторов; поясните пож. -------------------- упс! |
|||
|
||||
| powerOn |
|
|||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 47 Всего: 159 |
полностью согласен. плюс лично мне бы ещё хотелось увидеть параметры по умолчанию. |
|||
|
||||
| Kangaroo |
|
|||
|
AA - Aussie Animal ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2042 Регистрация: 7.10.2006 Где: US Репутация: 21 Всего: 104 |
w1nd,
powerOn, а можна, пожалуйста, одно-два предложения по каждому пункту? В общих чертах понятно, но хотелось вас послушать - почему, зачем и т.д. -------------------- Lost.... |
|||
|
||||
| Platon |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1801 Регистрация: 25.4.2006 Репутация: 16 Всего: 40 |
Я бы согласился с пунктами: множественное наследование и деструкторы (для teal-tme это была бы хорошая фишка).
"Указатели на методы", "нормальные шаблоны" не понял |
|||
|
||||
| AlexeyVorotnikov |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 658 Регистрация: 18.6.2007 Где: Москва Репутация: 10 Всего: 18 |
Welcome to C++ -------------------- RTFM! Три источника и три составные части Java: The Java Language Specification, Java Platform API Specification, The Java Virtual Machine Specification |
|||
|
||||
| Platon |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1801 Регистрация: 25.4.2006 Репутация: 16 Всего: 40 |
Java - вычещенный C++, надо только вернуть приятные фичи.
|
|||
|
||||
| AlexeyVorotnikov |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 658 Регистрация: 18.6.2007 Где: Москва Репутация: 10 Всего: 18 |
Если вернуть эти приятные фичи, получится опять C++ Это сообщение отредактировал(а) AlexeyVorotnikov - 14.3.2008, 11:27 -------------------- RTFM! Три источника и три составные части Java: The Java Language Specification, Java Platform API Specification, The Java Virtual Machine Specification |
|||
|
||||
| powerOn |
|
|||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 47 Всего: 159 |
Generic - это не шаблон, это механизм контроля типов. Нормальный шаблон в моем понимании это когда на каждый параметризированный класс создается отдельный класс файл полностью содержащий информацию о типах параметров. Мне бы хотелось что бы как минимум была возможность в runtime получать информацию о параметризованном типе. Например есть у вас абстрактные классы, которые содержат логику управления слушателями: MouseListenerSupport, PropertiesListenerSupport и т.д. Каждый из этих классов имеет свои особенности реализации. Вам нужно что бы класс A поддерживал и MouseListenerSupport и PropertiesListenerSupport. В данном случае, для меня логично использовать множественное наследование: A extends MouseListenerSupport, PropertiesListenerSupport. А приходится использовать делегирование: инкапсулировать экземпляры MouseListenerSupport и PropertiesListenerSupport в класс A и делегировать им соответствующие методы. Получается не код, а мясо, где его быть не должно (хотя свои плюсы в делегации тоже есть).
Пока в практике не нуждался в таком, но идея мне нравится. Думаю она бы нашла свое применение. Это просто удобно. Кто на С++ раньше писал меня поймут. Код бы выглядел гораздо легче. ИМХО. |
|||
|
||||
| Platon |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1801 Регистрация: 25.4.2006 Репутация: 16 Всего: 40 |
AlexeyVorotnikov, я был бы не против вернуться к C++, если бы там синтаксис был почище, а именно отсутствие изобилирующих знаков "->", "&", "*", возможность работать только с cpp файлами, а не с .h и .cpp, возможность прямо указывать интерфейс, абстрактный класс, просто класс. Нравятся inline функции, считаю, что любой getter/setter должен быть inline.
В общем не надо передергивать. Это сообщение отредактировал(а) Platon - 14.3.2008, 11:36 |
|||
|
||||
| Mayk |
|
|||
![]() ^аВаТаР^ сообщение>> ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2616 Регистрация: 22.5.2005 Где: за границей разум а Репутация: нет Всего: 134 |
В яву деструкторы сложно вписать, так как в яве по существе нет
value type'ов, разрушающихся при выходе из scope'а и оператора delete явно уничтожающего объект. Иными словами в яве попросту не существует мест, откуда следует вызывать деструктор. Так что не хватает не деструкторов, а чего-то наподобие using'а в c# -------------------- Здесь был кролик. Но его убили. Человеки < кроликов, йа считаю. |
|||
|
||||
| Platon |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1801 Регистрация: 25.4.2006 Репутация: 16 Всего: 40 |
Поддерживаю, удобная фишка, многие, кто пробовал на Java писать спрашивали, а как там делать пареметры по-умолчанию? И удивлялись, что надо дофига конструкторов/методов делать. |
|||
|
||||
| w1nd |
|
||||||||||||
![]() Вертилятор ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1077 Регистрация: 22.3.2006 Где: Москва Репутация: 20 Всего: 54 |
Не совсем так. Точнее, совсем не так. Java - не язык, но ещё и runtime. И имеет свои особенности, которых нет в C++. Добавление некоторые языковых конструкции - это ещё не возврат к C++. Ещё я просто зол на generics
Есть и другие примеры, просто я не припомню сейчас всех проблем, которые возникали.
Именно нечто подобное я и имел в виду
Просто мне крайне не нравится, когда в коде создаётся много анонимных классов - читаемость никакая. Например, я сделал для себя класс, который создаёт слушатели событий и биндит их на определённым образом аннотированные методы. Методы при этом задаются только строкой, что не очень удобно. А ещё было бы неплохо заполучить хоть какой-то подобие макросов. Вот зачем:
А ещё хотелось бы конструкторов для runtime-аннотаций, чтобы нижеследующий пример работал:
Это сообщение отредактировал(а) w1nd - 14.3.2008, 12:47 -------------------- ![]() ![]() |
||||||||||||
|
|||||||||||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |