powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Скорость кодирование
14 сообщений из 39, страница 2 из 2
Скорость кодирование
    #33916075
NotGonnaGetUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer
Суммарно - меня решительно не устраивало то время, которое в Java приходилось тратить не на задачу, не на ее функционал, а на технические вопросы.

Я, кажется, понял. Судя по сообщениям, львиная доля ваших "проблем" была почерпнута из общения со стандартными GUI библиотеками java. Затем делается ход конём и проблемы экстраполируются на весь язык и всё его окружение.

GUI в java, действительно, не самая тривиальная весчь в отличии от решений принятых в других языках.

fixxer
Я серьезно, кроме шуток, а то кроме Java что-то не видно претендентов на серебряную пулю.


Не стоит подходить к java c таких позиций. Это может печально закончиться.

Рассмотрим гипотетического господина Х.
Как-то он услышал лозунг - "java - это просто". Поверил.
Попробовал. Оказалось, что "просто" значит "просто по сравнению с C++".
Х почувствовал себя обманутым, но признаться, что обманул он себя сам не смог, не хватило душевных сил. В результате Х переложил все свои отрицательные эмоции на язык и всюду теперь его ругает...
...
Рейтинг: 0 / 0
Скорость кодирование
    #33916216
Фотография fixxer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer
Код: plaintext
1.
2.
3.
JButton btn =  new  JButton ("Test");
btn.setAction (action1);
btn.setAction (action2);
btn.setAction (action3);

на кнопке повиснут сразу три обработчика, и все три будут вызваны при нажатии на кнопку (не знаю, исправили ли это в последних версиях).



Видимо исправлено или одно из двух (JDK 1.5.0_06):

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
 package  fixxer.test.ui;

 import  javax.swing.*;
 import  java.awt.*;
 import  java.awt.event.ActionEvent;

/**
 * AbstractButton's method setAction(Action) test
 * Date: 14.08.2006
 * Time: 12:59:09
 */
 public   class  ActionTestFrame  extends  JFrame {

     private  JButton button;

     public  ActionTestFrame()  throws  HeadlessException {
         super ("AbstractButton's method setAction(Action) test");
        button =  new  JButton();
        button.setAction( new  FirstAction());
        button.setAction( new  SecondAction());
        getContentPane().add(button);
        pack();
        setVisible(true);
    }

     private   class  FirstAction  extends  AbstractAction {

         public  FirstAction() {
             super ("First action");
        }

         public   void  actionPerformed(ActionEvent e) {
            System.out.println("FirstAction performed");
        }
    }

     private   class  SecondAction  extends  AbstractAction {

         public  SecondAction() {
             super ("Second action");
        }

         public   void  actionPerformed(ActionEvent e) {
            System.out.println("SecondAction performed");
        }
    }

     public   static   void  main(String[] args) {
         new  ActionTestFrame();
    }
}

При нажатии в консоль выдает только "SecondAction performed"
...
Рейтинг: 0 / 0
Скорость кодирование
    #33916765
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NotGonnaGetUsЯ, кажется, понял. Судя по сообщениям, львиная доля ваших "проблем" была почерпнута из общения со стандартными GUI библиотеками java. Затем делается ход конём и проблемы экстраполируются на весь язык и всё его окружение.
Хм. Вы вроде бы беседовали со мной не один и не два раза, в том числе о вещах, к гую отношения не имеющим, скажем об исключениях. Вы правы в том, что гуй в яве отвратительно спроектирован, ну и его проблемы показываются особенно ярко; скажем, дать ссылку хреновой работы с нестандартной цветовой схемой



проще, чем приводить невизуальный код и объяснять, зачем он, для чего и в чем плохо дело.
...
Рейтинг: 0 / 0
Скорость кодирование
    #33916801
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fixxerВидимо исправлено или одно из двух (JDK 1.5.0_06):
Видимо. Судя по /topic/230432&pg=8#2160520 на тот момент наличие глюка сомнений не вызывало.
...
Рейтинг: 0 / 0
Скорость кодирование
    #33916858
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TruboDelphistА можно ссылку на топик, в котором это "К счастью" более развернуто обосновывается?
Как видите, даже при неразвернутом объяснении уже зарождается флейм. А теперь представьте, что было бы, если бы я рассказал про глюку с инициализацией членов класса в старых версиях и про то, как в пятерке эту глюку закрыли, заодно отрубив довольно полезную вещь и вынудив писать кривой обход нормального и ранее работавшего кода.
...
Рейтинг: 0 / 0
Скорость кодирование
    #33916886
gafudo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хм, думаю, в чем-то другом была проблема. Вот код из 1.4.2. В комментарии к коду написано, что он @since 1.3.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
 
    private Action action;

    public void setAction(Action a) {
	Action oldValue = getAction();
	if (action==null || !action.equals(a)) {
	    action = a;
	    if (oldValue!=null) {
		removeActionListener(oldValue);
		oldValue.removePropertyChangeListener(actionPropertyChangeListener);
		actionPropertyChangeListener = null;
	    }
	    configurePropertiesFromAction(action);
	    if (action!=null) {		
		// Don't add if it is already a listener
		if (!isListener(ActionListener.class, action)) {
		    addActionListener(action);
		}
		// Reverse linkage:
		actionPropertyChangeListener = createActionPropertyChangeListener(action);
		action.addPropertyChangeListener(actionPropertyChangeListener);
	    }
	    firePropertyChange("action", oldValue, action);
	    revalidate();
	    repaint();
	}
    }

   public Action getAction() {
	return action;
    }

ИМХО путались обработчики добавленные разными способами через setAction и addActionListener. В любом случае есть исходный код и четкий javadoc. Проблем не вижу.

Сорри, за оффтопик :)

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

Как вариант измерения - дробить ТЗ на маленькие задачки планировать и отслеживать сроки их решения.
...
Рейтинг: 0 / 0
Скорость кодирование
    #33916926
Фотография fixxer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gafudoХм, думаю, в чем-то другом была проблема. Вот код из 1.4.2. В комментарии к коду написано, что он @since 1.3.

Да. Попробовал свой пример на 1.3.1_01. Работает также.
...
Рейтинг: 0 / 0
Скорость кодирование
    #33917125
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gafudoХм, думаю, в чем-то другом была проблема. Вот код из 1.4.2.
Не буду однозначно утверждать, но похож на тот, что я помню.

Но если не ошибаюсь, Вы процитировали не все необходимое - сколь я помню, там еще были тонкости в add/removeActionListener.

gafudoИМХО путались обработчики добавленные разными способами через setAction и addActionListener.
Нет, я не использовал addActionListener. Но в любом случае, компонент должен был бы корректно - в соответствии со спецификацией в javadoc - работать и в этом случае.

gafudoВ любом случае есть исходный код и четкий javadoc. Проблем не вижу.
javadoc не соответствовал реальности. По исходному коду в конце концов и разобрался, после того как отсеял всех более очевидных кандидатов. Проблема же в том, что условия, позволявшие этой ошибке проявиться (то есть повторный вызов setAction для ранее инициализированной кнопки) возникали редко, и в результате мы имели плавающую ошибку, доставившую нам уйму хлопот.
...
Рейтинг: 0 / 0
Скорость кодирование
    #33917255
gafudo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, случайно наткнулся на ссылку по теме:

http://blogs.msdn.com/eldar/archive/2006/07/07/647858.aspx

Сухой остаток:

Данные по средней производительности программеров по США:
USA 1999 -- 9000 lines of code per year (9 KLOC/year)
USA 2005 -- 6200 lines of code per year (6.2 KLOC/year)
...
Рейтинг: 0 / 0
Скорость кодирование
    #33917300
Фотография 1024
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторВы правы в том, что гуй в яве отвратительно спроектирован, ну и его проблемы показываются особенно ярко; скажем, дать ссылку хреновой работы с нестандартной цветовой схемой

=8O

фиговый гуй можно на любом наклепать. Непонятно в чём свинговая отвратительность например в сравнении с дельфёвым или мфс-шным подходом
...
Рейтинг: 0 / 0
Скорость кодирование
    #33917654
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gafudoСухой остаток:

Данные по средней производительности программеров по США:
Там же неявно сказано, что эти цифры бессмысленны, поскольку никак не отражают долю времени тех же программистов, потраченного на сопровождение старого кода. Я так подозреваю, эти числа получены очень просто: взяли количество строк в новых продуктах и поделили на количество программистов в компаниях-разработчиках.

Можно сделать вывод, что либо эта доля крайне велика, либо программисты в США редкостные бездельники. Для сравнения, на свою текущую халтуру я потратил около 20 часов, и она состоит из примерно двух тысяч строк кода.. повышенной нетривиальности, назовем так.
...
Рейтинг: 0 / 0
Скорость кодирование
    #33917658
Prizzrak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно я вмешаюсь и подержу softwarer?
Я когда игрушку на паскале писал, я за 3 дня написал 7,5 тысяч строк кода, при этом я там enter после каждой буквы не нажимал и работал я только ночью, часов с 22-х до 7-ми утра.
...
Рейтинг: 0 / 0
Скорость кодирование
    #33917668
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1024фиговый гуй можно на любом наклепать.
Это само собой. Но думаю, авторы языка ставили цели покрупнее.

1024Непонятно в чём свинговая отвратительность например в сравнении с дельфёвым или мфс-шным подходом
мфс я никогда не пользовался, не могу судить. Отвратительность для меня в первую очередь в трудоемкости получения хорошего решения.
...
Рейтинг: 0 / 0
Скорость кодирование
    #33918474
NotGonnaGetUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerХм. Вы вроде бы беседовали со мной не один и не два раза, в том числе о вещах, к гую отношения не имеющим, скажем об исключениях.
На фоне упрёков к GUI, остальные вещи выглядят мелкими и не значительными :)

Хех. Всё-таки болит на душе, не могу не высказаться. Занимаемся сейчас пилотными испытаниями .NET. Отсутствие там checked exceptions сильно удручает.
Доступа к исходникам, естественно, NET, достаточных комментариев тоже NET.
И когда ни с того ни с сего из конструктора класса получающего коннект к sharepoint site'у вылетает FileNotFoundException - "счастью" тоже NET предела.


Хотя да, топик про другое. Простите, больше не буду :)
...
Рейтинг: 0 / 0
14 сообщений из 39, страница 2 из 2
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Скорость кодирование
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]