LINUX.ORG.RU

Что нового ожидается в Mono 2


0

0

В новую версию Mono, выпуск которой ожидается в марте следующего года, будет включен компилятор VB.NET и поддержка Windows Forms (WinForms). По словам Мигеля де Иказы, WinForms API будет реализован с использованием библиотек GNOME.

>>> Подробности

★★★☆

Проверено: Demetrio ()

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

Я знаю ЗАЧЕМ указатели. Но мне не нравится то, что они делают шарп еще эклектичнее, чем жаба. Смешение стилей редко выглядит красиво - а это пришили хвост от ассемблерного прошлого языка С к современному ОО языку.

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

>Указатели достаточно полезны когда нужно производительность повысить >максимально возможно. И сравнивать с Жабой не имеет смысла - разные >(хоть и пересекающиеся) области. Сравните количество УЖЕ существующих >гуёвых приложений.

Повышать производительность можно и без указателей, например SWT. Честно говоря, я знаю очень мало написанного на .net, в основном это утилитки для того же .net. Хотя не спорю, WindowsForms работают быстро, быстрее Swing, но не быстрее SWT.

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

Хотя SWT куда хуже WindowsForms :(, а жаль. IBM могли бы и получше что-нибудь придумать.

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

>Кстати, и до приватных полей через Reflection, вроде, в жабке не добраться - защита работает...

Шутишь? Приватные поля меняются через Reflection на раз. Хотя теоретически, действительно, не должны.

alt-x ★★★★★
()
Ответ на: комментарий от svu

Хуевый ты значит жавописец, в жабе это с мертворождения.

P.S. И на работу я тебя не возьму, нехуй мне резюме слать, заебал уже.

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

Да уж, думаю оценили, что забили сюда ходить.

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

Угадайте, на какой строке получаем exception?

    try
    {
      Class cls = Class.forName( "somepackage.someclass" );
      Field f = cls.getDeclaredField( "privateIntField" );
      Object o = cls.newInstance();
      System.out.println( "object:" + o );
      System.out.println( "field: " + f );
      System.out.println( "value before: " + f.getInt( o ) );
      f.setInt( o, 1 );
      System.out.println( "value after: " + f.getInt( o ) );
    } catch ( Exception ex )
    { System.err.println( ex ); }

Sun's jdk 1.4.2 for linux

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

2anonymous (*) (22.09.2004 15:12:41):

>Но посмотрите на Infragistics...

Посмотрели, обёртка с дополнительными фичами на MS компоненты, кастомайзится неплохо, но для апликухи написаной с использованием (в том числе) Infragistics нужно иметь либо крепкие нервы либо 2GHz'овый проц. Java SWING и то шустрее будет.

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

> Да, и все-таки - зачем они туды указатели запихали, ироды???

А почему бы и нет? Мало ли, вдруг пригодится... особенно если с API работать, что частенько приходится делать =) А так до них еще докопаться надо, unsafe там и все такое...

int19h ★★★★
()

public class Changer {
 public static void main(String[] args) {
  try
   {
    Class cls = Class.forName( "Test" );
    java.lang.reflect.Field f = cls.getDeclaredField( "cc" );
    f.setAccessible(true);
    Object o = cls.newInstance();
    ((Test)o).printval();
    System.out.println( "object:" + o );
    System.out.println( "field: " + f );
    System.out.println( "value before: " + f.get( o ) );
    f.set( o, Boolean.TRUE );
    System.out.println( "value after: " + f.get( o ) );
    ((Test)o).printval();
  } catch ( Exception ex ) {
    ex.printStackTrace(); 
  }
 }
}

public class Test {
  private Boolean cc = Boolean.FALSE;
  public void printval() {
   System.out.println("value " + cc);
  }
}

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

/// ====================================================================== ///

//                                                                          //

//  JBoss Security Policy                                                   //

//                                                                          //

/// ====================================================================== ///



// $Id: server.policy,v 1.2 2001/08/11 21:32:45 user57 Exp $



grant {

   // Allow everything for now

   permission java.security.AllPermission;

};


-----------------------
jboss 3.2.1
прикол. разрешить доступ через рефлекшн к приватным полям можно, а вот запретить для заданного кодебейза - нет :(

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

Ну, вообще-то setAccessible - это своего рода "черный ход".

Setting the accessible flag in a reflected object permits sophisticated applications with sufficient privilege, such as Java Object Serialization or other persistence mechanisms, to manipulate objects in a manner that would normally be prohibited.

Если у кого-нибудь есть под рукой какой-нибудь app server: посмотрите, даст ли местный security manager этот самый пермишен suppressAccessChecks. Есть ощущение, что не должен - но хочется знать наверняка. Кстати, стОило сделать System.setSecurityManager( new java.rmi.RMISecurityManager() ) - и тут же получил java.security.AccessControlException: access denied (java.lang.reflect.ReflectPermission suppressAccessChecks)

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

> Кстати, стОило сделать System.setSecurityManager

Про это речь изначально и велась :)

> Ну, вообще-то setAccessible - это своего рода "черный ход".

Документированный. Тааак что - в топку :)

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

>> Кстати, стОило сделать System.setSecurityManager

> Про это речь изначально и велась :)

"Изначально" речь про setAccessible не велась - только про getDeclaredField ;)

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

>Время идёт, популярность Java растёт

Помоему как раз падает :)))

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

Гонишь MrBool... более 600 сложных форм (очень сложных с гридами и т.д.) на 1ГГц проце с 256 рам работает достаточно сносно... А вот на SWING Set смотреть невозможно....

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

Re: Re: идиоты...

>Угу только .NET это не поможет poorly designed framework - лажа по русски сколько не патчь ... если интерфейсы разработаны плохо

Ни фига. Все designed какнадо. А тем, кто не врубается, читать маны http://www.osp.ru/os/2004/07/012.htm до полного единения с астралом...

anonymous
()
Ответ на: Re: Re: идиоты... от anonymous

> А тем, кто не врубается, читать маны http://www.osp.ru/os/2004/07/012.htm до полного единения с астралом...

Боюсь, если соединиться с местным астралом, то закончится это дело суицидом =) Это как раз судя по дизайну .NET...

int19h ★★★★
()
Ответ на: Re: Re: идиоты... от anonymous

>С помощью управляемого С++ (MC++) абсолютно любою программу на этом
>языке можно скомпилировать в промежуточный язык — IL
>МС++ ничем не отличается от обычного С++: он поддерживает шаблоны,
>множественное наследование и другие возможности стандартного С++. Кроме
>этого, в нем имеется большое количество расширений, которые позволяют
>использовать возможности .NET

пусть поробует откомпилировать любой COM ....
и , или managed или не managed али можно делать Примесь ?

friend в плюсах сделаны, что бы было проще и эффективнее делать
некоторые вещи, оно не обязательно к использованию, просто удобно в не
которых случаях

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

парень обкурился, однако, давайте ACL на методы

>методы и поля класса, которые должны быть доступны для другого
>класса-друга, необходимо выделить в базовый класс, перенести этот
>класс в сборку класса-друга и назначить уровень доступа Internal
>(Friend для VB.NET)

ЭТО делается проще - учиться дизайну, мать твою

>C++ — это язык плюс стандартная библиотека STL
долбик: C++ — это язык, плюс стандартная библиотека, STL

Ой бля, все , дочитал, без коментариев

>Платформа .NET Framework молода и, по сравнению с остальными
>средствами, на ней написано еще ничтожно мало реальных систем.
>Рассмотрим актуальные проблемы проектирования и возможную роль .NET
>Framework в их решении.

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

извиняюсь, не все попало

>С++ никуда и никем не вытесняется. Просто программная инженерия
>развивается, и новые технологии предлагают решения ранее нерешенных
>проблем.

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

совет парням
- попишите на Python
так, для общего развития,
возмите, perl, bash, java, lisp, forth, smalltalk, pascal
................................................. и тд
а потом приходите и говорите о новой эре в програмировании
с интересов можно будет вас выслушать

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

to anonymous (*) (23.09.2004 18:26:41):

>Гонишь MrBool... более 600 сложных форм (очень сложных с гридами и
>т.д.) на 1ГГц проце с 256 рам работает достаточно сносно... А вот
>на SWING Set смотреть невозможно....

1) "работает достаточно сносно" = тормозит, о чём я и говорил.
2) свинг на такой конфигурации работает с такой же скоростью как и Infragistics. Мне объяснить почему или сам догадаешься ? :)
3) своим глазам я больше верю чем твоим заявлениям "работает достаточно сносно" :0)

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

2 svu (*) (22.09.2004 15:30:14)
> Вообще говоря, в RMI можно определять сериализацию объекта как угодно - это не простейший extenstion point? А переопределение RMISocketFactory?
Так хочется большего. ;)
Вот, например, самому управлять передачей клиенту стабов (имхо, даже в 1.5 нельзя).

satyr.

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

to yeolahim:

>парень обкурился, однако, давайте ACL на методы

Кстати сказать разграничить доступ к методам в .NET можно через
атрибуты, причем с привязкой к доменному контроллеру, так что
бабушка надвое сказала, надо ACL на методы или нет. Мне скоро эта
фича понадобится :)

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

to 2)

Да уж конечно. есть smalltalk в его Dolphin Smalltalk реинкарнации. Я с него млею. И стоит он очень симпатично.

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