Модераторы: Partizan, gambit

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> JAVA или .NET ? обсуждаем достоинства и недостатки 
:(
    Опции темы
Allexx
Дата 3.2.2004, 19:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 16.12.2003

Репутация: нет
Всего: нет




M
mr.DUDA
Вопросы, мнения и просто свои мысли по поводу особенностей платформы .NET в сравнении с JAVA можно обсудить в этой теме. В любых других темах замечания типа "JAVA (или .NET) круче!" будут являться оффтопом, даже в том случае, если они аргументированы :).

P.S. аналогичная тема есть в разделе по JAVA.

PM MAIL   Вверх
Domestic Cat
Дата 8.4.2005, 10:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: 9
Всего: 172



Цитата(cully @ 8.4.2005, 01:41)
что коментарий /* действия */, если его заменить на код, разворачивается в блок switch... эммм, если это так, то очень уж это смахивает на замшелый подход обработки сообщений из Win32 API. Читабельность у такого блока нулевая.

Ну да, сразу вдруг и нулевая? smile Во-первых, листенерами на разные кнопки можно ставить разные объекты - что не самый лучший вариант, конечно, Во-вторых, никто не мешает писать
Код

public void actionPerformed(ActionEvent e)    
{    
        if (e.getSource() == closeButton)
              closeButton_Click();
         if (e.getSource() == openButton)
             openButton_Click();
}   

При небольшом количестве кода можно и без ифов.


--------------------

PM   Вверх
Kurt
Дата 8.4.2005, 12:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Увлеченный
***


Профиль
Группа: Участник Клуба
Сообщений: 1662
Регистрация: 22.8.2003
Где: Краснодар

Репутация: 20
Всего: 36



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


--------------------
Для корабля, который не знает куда плыть, нет попутного ветра... ((С) Архимед)
...
Все знают, что это невозможно. Но случайно находится невежда, который этого не знает. Он-то и делает открытие.. ((С) А. Эйнштейн)
PM ICQ   Вверх
arilou
Дата 8.4.2005, 12:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Великий МунаБудвин
****


Профиль
Группа: Экс. модератор
Сообщений: 2646
Регистрация: 15.7.2004
Где: город-герой Минск

Репутация: 21
Всего: 61



Цитата(Kurt @ 8.4.2005, 12:04)
И в чем крутизна такого кода?

Клево ты сформулировал мою мысль. А я сижу и думаю, что тут такого написать smile


--------------------
user posted imageuser posted image
PM WWW ICQ   Вверх
batigoal
Дата 8.4.2005, 12:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 1
Всего: 151



Цитата(Kurt @ 8.4.2005, 12:04)
В чем преимущество таких изворотов?

Не понял - каких?


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
alir
Дата 8.4.2005, 16:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 383
Регистрация: 19.3.2005

Репутация: 2
Всего: 4



Цитата
А .NET на мобилы разве ставят?

Скоро будет! С каждой новой серией увеличевается память мобильных телефонов - сейчас уже 80 мб (не смартфоны!). Т.е. скоро, надеюсь, .net войдет и в эту среду. Хотя может будущее за смартфонами.
PM MAIL ICQ   Вверх
Ch0bits
Дата 8.4.2005, 17:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Python Dev.
****


Профиль
Группа: Завсегдатай
Сообщений: 2124
Регистрация: 21.2.2005
Где: Казань

Репутация: 9
Всего: 62



Цитата(alir @ 8.4.2005, 16:42)
Скоро будет!

Приколист, .НЕТ ведь только под виндуза заточет, а в простой мобиле(не смартфоны!) даже операционной системы нет.

Цитата(alir @ 8.4.2005, 16:42)
сейчас уже 80 мб

smile smile Оперативки чтоли? smile smile
Если постояной, то только через флешки наращивают.

Цитата(alir @ 8.4.2005, 16:42)
надеюсь, .net войдет и в эту среду

Упаси Бог! Хотя этого и так не будет... smile
Вот на виндузовых КПК он пашет, но это уже другая история...
PM WWW   Вверх
Domestic Cat
Дата 8.4.2005, 17:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: 9
Всего: 172



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


Не понял, может ты вообще без ифов или свитчей код пишешь? smile Код как код, все равно, как любой код в слое презентации, на реюзабилити не претендует, написали - забыли. Точно также я могу делегаты назвать "изворотами" - ну и? smile



--------------------

PM   Вверх
arilou
Дата 8.4.2005, 18:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Великий МунаБудвин
****


Профиль
Группа: Экс. модератор
Сообщений: 2646
Регистрация: 15.7.2004
Где: город-герой Минск

Репутация: 21
Всего: 61



Цитата(Domestic @ 8.4.2005, 17:56)
Не понял, может ты вообще без ифов или свитчей код пишешь?


А в Java можно так сделать:
Код

public class classBase
{
}

public class classA : classBase
{
}

public class classB: classBase
{
}

public class App
{
  public static void Main()
  {
     string className = Console.ReadLine();
     classBase obj = Activator.CreateInstance(Type.GetType(className, true, true));
  }
}


Я думаю, идею ты понял.


--------------------
user posted imageuser posted image
PM WWW ICQ   Вверх
batigoal
Дата 8.4.2005, 18:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 1
Всего: 151



Цитата(arilou @ 8.4.2005, 18:06)
Я думаю, идею ты понял

Объясни, пожалуйста, здесь ведь не только он. Я не понял smile
Динамически получаем имя класса, и создаем его объект? Это мы магем с помощью механизма отражения. Но зачем тут тогда классы A и B?..


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
Domestic Cat
Дата 8.4.2005, 18:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: 9
Всего: 172



В смысле, есть ли рефлекшн? smile А откуда ж микрософту было его взять? (шутка)

Код


public class A 
{   
    public static void main(String [] args) throws Exception
    {   
        B b = (B) Class.forName("B").newInstance();
        C c = (C) Class.forName("C").newInstance();
        System.out.println(b + "  " + c);
    }
}

class B
{}

class C extends B
{}



--------------------

PM   Вверх
arilou
Дата 8.4.2005, 18:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Великий МунаБудвин
****


Профиль
Группа: Экс. модератор
Сообщений: 2646
Регистрация: 15.7.2004
Где: город-герой Минск

Репутация: 21
Всего: 61



А атрибуты есть в Java?


--------------------
user posted imageuser posted image
PM WWW ICQ   Вверх
Domestic Cat
Дата 8.4.2005, 18:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: 9
Всего: 172



Есть мета-теги, суть та же, что и у аттрибутов, самому можно создавать. Пример:
Код

import java.lang.annotation.*;
import java.lang.reflect.*;
                                                                                
@Retention(java.lang.annotation.RetentionPolicy.RUNTIME) @interface debug  {
    boolean  devbuild() default false;
    int counter();
}
                                                                                
public class MetaTest {
    final boolean production=true;

    @debug(devbuild=production,counter=1) public void testMethod()  {
    }
 
                                                                               
    public static void main(String[] args) {
                                                                                
        MetaTest mt = new MetaTest();
        try {
            Annotation[] a = mt.getClass().getMethod("testMethod").getAnnotations();
            for (int i=0; i<a.length ; i++)  { 
                 System.out.println("a["+i+"]="+a[i]+" "); 
             } 
         } catch(NoSuchMethodException e) { 
             System.out.println(e); 
         } 
     } 
 }



--------------------

PM   Вверх
arilou
Дата 8.4.2005, 19:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Великий МунаБудвин
****


Профиль
Группа: Экс. модератор
Сообщений: 2646
Регистрация: 15.7.2004
Где: город-герой Минск

Репутация: 21
Всего: 61



Еще один "ламерский" вопрос: возможна ли:
1) динамическая кодогенерация, как Reflection.Emit в .NET?
2) догрузка кода "по требованию"


Это сообщение отредактировал(а) arilou - 8.4.2005, 19:19


--------------------
user posted imageuser posted image
PM WWW ICQ   Вверх
Domestic Cat
Дата 8.4.2005, 19:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: 9
Всего: 172



В Java нет ассемблей, нет метаданных, ПЕ хедеров. Но код можно генерить, есть класс com.sun.tools.javac.Main. есть и более серьезные вещи, типа BCEL.
Добавлено @ 19:23
Цитата(arilou @ 8.4.2005, 10:10)
догрузка кода "по требованию"

http://java.sun.com/j2se/1.5.0/docs/api/ja...lassLoader.html



--------------------

PM   Вверх
batigoal
Дата 8.4.2005, 21:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 1
Всего: 151



Domestic Cat Не кинешь ссылочку про метатеги? Я о таком не знал...


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0863 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.