Перейти до вмісту

Java, всі питання тут


Повідомлень в темі: 54

#21 Гетьман

    I am forsaken (c) Sylvanas

  • Користувачі
  • PipPipPipPipPipPipPipPipPipPip
  • 2480 повідомлень
  • Стать:Чоловік
  • Місто:Leopolis novus

Відправлено 15.07.2011 – 08:28

Віі, яка цікава тема. Давайте спілкуватись. :)
Маю питання: у мене є таблиця. Зроблена так (оголошення змінних опустимо):
public class Window extends JFrame {
	 public Window()
		 {
								xSize = 9;
		ySize = 9;
		mcount = 10;		
				
		Container content = getContentPane();	
				
		JPanel upper = new JPanel(new GridLayout(1, 3));
		DigitField counter = new DigitField();
		
		upper.add(counter, BorderLayout.WEST);
		final DigitField mytimer = new DigitField();
		
		Timer t = new Timer(1000, new ActionListener() {
			  public void actionPerformed(ActionEvent e) {
				 mytimer.addOne();
			  }
		   });		
		JPanel field = new JPanel();
		MField mfield = new MField(xSize,ySize,mcount,counter,t);
		field.add(mfield);
		content.add(field, BorderLayout.SOUTH);
		FaceWeeperWork fw = new FaceWeeperWork(new FaceWeeper(),this,content,field,mfield,counter,t);
		fw.fw.addMouseListener(fw);
		upper.add(fw.fw, BorderLayout.CENTER);		
		upper.add(mytimer, BorderLayout.EAST);		
		content.add(upper, BorderLayout.NORTH);	
				
		//MyMenu MB = new MyMenu();		
		
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setLocation(50, 50);
		//setJMenuBar(MB);								
		pack();
		setResizable(false);
		setVisible(true);
					 }
		  }
FaceWeeperWork - це має бути кнопка, при клацанні на яку має заново генеруватись MField. Зробив я це ось так:
public class FaceWeeperWork extends MouseAdapter {
	public FaceWeeper fw;	
	public MField mfield;	
	public DigitField counter;
	public Timer time;
	public JPanel field;
	public Container content;
	public Window wind;	
	public FaceWeeperWork(FaceWeeper f, Window w, Container con,JPanel fd, MField mf, DigitField c, Timer t)
	{
		wind = w;
		content = con;
		field = fd;
		fw = f;
		mfield = mf;		
		counter = c;
		time = t;		
	}
	public void mouseClicked(MouseEvent e)
	{
		field = new JPanel();
		mfield = new MField(wind.getxSize(),wind.getySize(),wind.getMCount(),counter,time);
		field.add(mfield);
		content.add(field, BorderLayout.SOUTH);		
		field.repaint();
		field.validate();
	}
Але є проблема. При клацанні MField не оновлюється графічно, оновлюється лише при першому клацанні на нього. А згодом не оновлюється взагалі. Не втямлю, що, де, як і чому. На англомовних форумах уже схарився шукати, плюз коли застосовую те, що там пише до себе аналогічно - то нічорта не виходить.

Повідомлення відредагував Гетьман: 15.07.2011 – 08:31

  • 0

#22 ivanenko

    Ледар

  • Заблоковані
  • PipPip
  • 13 повідомлень

Відправлено 16.07.2011 – 06:21

вопшім шось на тему: який код такі й поради. :)
додайте в конструкторі вашого першого класу виклик super(); на самому початку. Ваш Window наслідує JFrame, тому є ліхкавєсним контейнером і тому можливо не оброблюються події на компонентах всередині нього. Ну це така версія: або треба викликати конструктор суперкласа (а той теж викличе), поки діло не дійде до важковісного контейнера, або прямо вказувати шо треба обробляти події які виникатимуть на компонентах які лежать в цьому контейнері, викликом метода enableEvent() з відповідними параметрами. В цьому разі AWTEvent.MOUSE_EVENT_MASK якщо правильно запамятав. По-друге ваш обробник FaceWeeperWork. Навіщо так ускладнювати, чому він додає елементи, мав би просто перемальовування ініціювати; взагалі важко уявити шо там робиться. Те ж саме стосується і аргументів які йому передаються: навіть Container JFrame'а! Виходить, що кожного разу як ви клацаєте, у вас створюється нова панель, ваша MField і все це ліпиться в одне місце. Мали б змінюватися якісь поля (змінні) в одному MField'і а клікання тобто обробник мав би змушувати цей MField перемалювати.
І оцей FaceWeeper. Чому він як поле в обробнику?! А не в JFram'і з усіма? Обробник (FaceWeeperWork) приєднали б до цього FaceWeeper'а в конструкторі Window, а параметрами передали б тільки ті що треба.

Щодо перемалювання MField. У нього немає метода repaint()? Якшо він наслідує клас з таким методом то навіщо перемальовувати JPanel, треба його метод викликати. А якщо немає, то тоді треба в Window створити поле типу JPanel, а не в конструкторі, і його використовувати і для розміщення там MField. Так можна буде викликати з обробника його метод.
Полями варто зробити й решту використоуваваних в обробнику змінних. Власне тут в основному йдеться про MField. Бо з таймером і counter'ом не зовсім ясно, а панель тут потрібна тіке шоб перемалювати її вміст (див. вище). Просто так в обробнику стануть доступними всі потрібні об*єкти. Без необхідності їх постійно копіювати і накладати одне на одного.
Коротше зробіть шось таке:
public JPanel field;
public DigitField counter;
public Timer t;
public MField mfield;

public class Window extends JFrame {
	 public Window(){
		super();

		xSize = 9;
		ySize = 9;
		mcount = 10;		
				
		Container content = getContentPane();	
				
		JPanel upper = new JPanel(new GridLayout(1, 3));
		field = new JPanel();
		counter = new DigitField();
		
		upper.add(counter, BorderLayout.WEST);
		final DigitField mytimer = new DigitField();
		
		t = new Timer(1000, new ActionListener() {
			  public void actionPerformed(ActionEvent e) {
				 mytimer.addOne();
			  }
		   });		

		mfield = new MField(xSize,ySize,mcount,counter,t);
		FaceWeeper fw = new FaceWeeper();

		content.add(field, BorderLayout.SOUTH);
		field.add(mfield);
		upper.add(fw, BorderLayout.CENTER);

		fw.addMouseListener(new FaceWeeperWork(this));

		upper.add(mytimer, BorderLayout.EAST);		
		content.add(upper, BorderLayout.NORTH);	
				
		//MyMenu MB = new MyMenu();		
		
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setLocation(50, 50);
		//setJMenuBar(MB);								
		pack();
		setResizable(false);
		setVisible(true);
					 }
		  }
//

public class FaceWeeperWork extends MouseAdapter{
   Window win;

   FaceWeeperWork(Window win){this.win=win;}

   public void mouseClicked(){
	win.mfield.updateMField(win.getxSize(), win.getySize(), win.getMCount(), win.counter, win.t);
	win.field.repaint();
   }
}
В updateMField() передається все те шо в оригінальному коді передавалось в конструктор MField, тобто внутрішня обробка та сама, але тут не створюватиметься купи JPanel'ів і MField'ів щокліка. Щодо передостаннього параметра, то якщо подивитися, ваш counter який передається в обробник - це сцилка на локальну змінну в конструкторі Window, не зрозуміло, як вона змніюється від кліка до кліка. Я зробив її полем Window, такшо доступатися її з обробника можна буде через win.counter, але всеодно неясно як вона змінюється.
  • 0

#23 Lactarius

    Генеральний писар

  • Користувачі
  • PipPipPipPipPipPipPipPipPip
  • 976 повідомлень
  • Стать:Чоловік
  • Місто:Львів

Відправлено 16.07.2011 – 23:22

Цитата

додайте в конструкторі вашого першого класу виклик super(); на самому початку.
не обовязково, він сам викличеться. треба додавати виклик, якщо в базовому немає конструктора без параметрів.

Код не втикав. причини три 1. Паблік морозов 2. нема підсвітки 3. впадло додавати самому те чого не вистачає.

Гетьман ви ж дотнетчик! нафіга вам джава... Немає нічого гіршого ніж дотнетчик, котрий вчить джаву. будь-ласка не робіть цього.
  • 0

#24 ivanenko

    Ледар

  • Заблоковані
  • PipPip
  • 13 повідомлень

Відправлено 17.07.2011 – 23:36

Перегляд дописуLactarius (17.07.2011 00:22) писав:

не обовязково, він сам викличеться. треба додавати виклик, якщо в базовому немає конструктора без параметрів.
Да. Всеодно ж викликатиметься конструктор суперкласа без параметрів. Просто я сплутав на рахунок enableEvents(). Його треба викликати в констукторі компонента якщо контейнер легковісний. Там з 's', я написав без. В конструктор вашого _копонента_, на якому має ставатися подія, додайте
enableEvents(AWTEvent.MOUSE_EVENT_MASK)
. Окрім інших змін, бо нмд обробник ваш жахливий.)

Повідомлення відредагував ivanenko: 17.07.2011 – 23:37

  • 0

#25 Гетьман

    I am forsaken (c) Sylvanas

  • Користувачі
  • PipPipPipPipPipPipPipPipPipPip
  • 2480 повідомлень
  • Стать:Чоловік
  • Місто:Leopolis novus

Відправлено 18.07.2011 – 00:25

Перегляд дописуLactarius (17.07.2011 00:22) писав:

Гетьман ви ж дотнетчик! нафіга вам джава... Немає нічого гіршого ніж дотнетчик, котрий вчить джаву. будь-ласка не робіть цього.
Бгг, я не дотнетчик, я за .NETом ніразу не сидів. Перша моя мова - Pascal (не об'єкт, а Турбо, гИ, який вчив в універі на 1 курсі), оце місяць тому почав другу вчити.

Перегляд дописуivanenko (18.07.2011 00:36) писав:

Да. Всеодно ж викликатиметься конструктор суперкласа без параметрів. Просто я сплутав на рахунок enableEvents(). Його треба викликати в констукторі компонента якщо контейнер легковісний. Там з 's', я написав без. В конструктор вашого _копонента_, на якому має ставатися подія, додайте
enableEvents(AWTEvent.MOUSE_EVENT_MASK)
. Окрім інших змін, бо нмд обробник ваш жахливий.)
Дякую, зараз спробую застосувати (плюз те, що в попередньому дописі). Бо на цьому місці застряг, хочу навчитись хоч якось по-індуськи це робити, а уже згодом нормально (як і решту вчився). А так - то це перша моя віконна прога /до цього консольні лише писав/, тож якщо виправляти її - то вже простіше заново написати. super() я уже на другій навчився писати і застосовувати.

З. І. Про результи доповім.
  • 0

#26 Гетьман

    I am forsaken (c) Sylvanas

  • Користувачі
  • PipPipPipPipPipPipPipPipPipPip
  • 2480 повідомлень
  • Стать:Чоловік
  • Місто:Leopolis novus

Відправлено 25.02.2012 – 20:55

Java кермує!!!11
  • -1

#27 Гетьман

    I am forsaken (c) Sylvanas

  • Користувачі
  • PipPipPipPipPipPipPipPipPipPip
  • 2480 повідомлень
  • Стать:Чоловік
  • Місто:Leopolis novus

Відправлено 18.03.2012 – 23:02

Java продовжує кермувати!!!11 GWT - сила, гиги
  • -1

#28 Lactarius

    Генеральний писар

  • Користувачі
  • PipPipPipPipPipPipPipPipPip
  • 976 повідомлень
  • Стать:Чоловік
  • Місто:Львів

Відправлено 19.03.2012 – 00:38

ну не дуже то продовжує, поки всі сидять на спрінгу. ГВТ класний тулкіт, але тільки якщо нема юайщика і хочеться писати на кривій, але хоч якійсь джаві (тобто для таких як я), але на рахунок продовжує... ГВТ трохи старий...
  • 0

#29 _Ex

    STATUS_OK

  • Користувачі
  • PipPipPipPipPipPipPipPipPipPip
  • 1747 повідомлень
  • Стать:Чоловік
  • Місто:Бахмут, Південна Слобожанщина, Україна

Відправлено 16.04.2012 – 05:59

да, докерумвалася жаба до ручки. фраєрфокс заблокував плагін жабівський як "vulnerable to an actively exploited security issue". Як добре що я його (і взагалі жабу) не використовую, і вимкнув всі ті нахабні проги які нахабно прописувалися в реєстрі, лізли в трей, - дві фонових процеси, одна служба і одна в run прописанан, щоб тіке забезпечити довбане оновлення і якйись там швидкий старт!!! :angry: дивовижна роздутість і найнепримніші емоції... Так, звісно, можна сказати: це ж устаріла версія жаби вразлива. Боже мій, та коли я того року встановлював її, вони запевнянли яка це класна версія, яка надійна і безпечна, - адже вже на той час жаба набула слави найдірявішого пз в світі. ось читаю, - які гучні назви: некст генерейшен ява плагін... а що маємо, ще більше дірок, і суцільний геморой всім кому довелося зіткнутися з цією паганою жабою. як взагалі ця нікчемна технлогія могла стати такою популярною. і хто вазагалі пише їм те жрє, папуаси? до речі про геморой. всі вже мабуть читали про флешбек троян який заразаив ~600000 чого б ви думали? Таааак! таааак, саме невразливу слюніксмунікс лайк супермега макось!11111 І ось тут як ніде буде влучною ця фраза, здогадайтесь? ява кермує!!!!1111 так, так, знову наша любима ява! як на Віндовсі була найбльшим гемором разом з адобівськими подєлками, такою очевидно була і є й на інших платформах. Єдина різниця: тепер хацкери нарешті вирішили покопирсатися і в бравурно "непереможних" осях. тобто макосях. я не кидаю сцилки, мабуть кому цікаво, вже натикались і читали, а мені сподобалось в одному блозі чувак написав шо яблучники випустили один апдейт, а потім другий, придпалажитільно тому що найшли баги в першому. От як воно оказуєцця робиться в невразливому до малварі мірє юнікса. Вууух. Постскриптум: чи я злорадствую? Ні, для мене ніколи не було секретом чого "так мало" шкідливого ПЗ під так звані уніхлайк системи - нецікавість через малопоширеність. Але от пвену частку сатисфакції отримав, все ж, як компенсацію за всі оті помиї які довелось читати з боку тупих снобів задротів школоти і інших придурків які корчили з себе цукоодмінів і мудрствували про причини розподілення вірусів по осям та й взагалі іноді шукаючи шось цікаве з конкретного питання, натрапляв на такий неадекватний брєд в цій тематиці, шо дивувався як можна бути таким неадекватами. ну і срачі срачі срачі. ну а тепер коли ландзінкі і інші прасунуті користувачі огризікв нервово запусктимуть свій айСканер (прівєт гол, і ярий) хоч може менше придурків розглаглагольсвуватиме о божествєнній природі унукса і неможливотсі виконання під її керуванням шкідливго пз. можливо. так я задоволений, шо тицьнули в пику чванливим хвастунам. а сан/оракл канєшно молодці, от зараз пише: ви качніть нові версії плагінів самого жабосередрвища і всьо буде гут. а де гарантія шо там кількість дірок не подвоїлась від панічних потуг виправити ту купу попереднії дірок ораклівськими папуасами? адже півроку назад так само запевняли шо нова версія - це некст дженерейшен, всьо очень круто, а виявилось що - некст дегенерейшен. да, нопейсав, потік свідомости, ну вркатце - ява кермує!!11
Зображення

Повідомлення відредагував _Ex: 16.04.2012 – 06:09

  • 0

#30 xTANATOSx

    ( ╯°□°)╯

  • Заблоковані
  • PipPipPipPipPipPipPipPipPipPip
  • 1502 повідомлень
  • Стать:Чоловік
  • Місто:Столиця самогоноваріння України

Відправлено 16.04.2012 – 11:43

Ява вже не рулить, рулить С, пруф
http://www.3dnews.ru...are-news/627596
  • 0

#31 Гетьман

    I am forsaken (c) Sylvanas

  • Користувачі
  • PipPipPipPipPipPipPipPipPipPip
  • 2480 повідомлень
  • Стать:Чоловік
  • Місто:Leopolis novus

Відправлено 16.04.2012 – 14:21

Коли я починав вчити Java - у мене був шок: типу почав писати хеллоуворлд, пишеш 2 дні, наконфігурив xml-линок, назакидав бібліотек, досі нічого не виходить, а таке враження наче пишеш банківську розподілену систему середньої складності (с, перевірено на власній шкурі). Зате коли входиш і починаєш розуміти призначення бібліотек, нафіга оту штуку прописати в конфізі і що буде, коли її змінити - все стає просто і класно. Звісно, інші на тебе дивляться як на сноба та задрота, але це таке. Фактично, для всього ентерпрайзу ти можеш знайти потрібну тобі лібу і зробити все не так уже швидко, зате коли організуєш систему - то робота йде швидко та якісно. Причому, в себе на сайтєгу я вже зробив собі можливість виставляти види територій, при тому, що займаюсь ним я лише 3-й день (1-й день зваяв просто сайтєґ і криво прикрутив гекси, на другий день зробив можливість нормально обертати і трохи рефакторнув, на 3-й день оце вже присобачив персістенс території). До чого я веду? Джава пропонує універсальне рішення для більшості задач, велосипеди під які уже давно вигадані і перевигадані. Звісно, якщо вам потрібно щось конкретне - ви використовуєте мову, яка спеціально підходить під ваш продукт.
Холіварив вчора з одним пехепешником: то він мені вперто доводив, що Джава - лайно, бо там нічого толком не зробиш. Я його потикав трохи у jar-ки, які вирішують те чи інше завдання, яке він виписував, розійшлися, вважаю, внічию, бо він сказав: все одно гавно, я на пехепе це зроблю в 4 рядочки, а ти іпатимешся 2 години. Але то такє. Насправді якщо вибирати між вчити JavaScript, CSS, SQL, HTML і вивчити, скажімо, комбінацію Hibernate, GWT чи Spring чи (підставити ORM і Web-Framework) - то мені простіше залишатися у спокійному світі Java і хостити безплатно на GAE або розробляти на роботі під JBoss і не іпати собі мозок вильотами через null, бо я в JavaScript забув поставити if (a != null) {}, а в IE 8, бачте, XMLHTTPRequest робиться іншим способом. За мене це вирішує ліба, яка сама підставляє те, що мені потрібно, а я пишу код в Java, прочитавши Bruce Eckel, мануали від Sun і документацію бібліотеки яку використовую. Щодо дірявості - тут уже питання до JRE. Якщо під веб - контейнерів сервлетів є тонни, серверів також. Читаєш який найбезпечніший і вибираєш його. Безпека не настільки важлива - вибираєш найшвидший або найстабільніший.

З. І. Усім, хто зараз почне сратися зі мною: так, я нуб у використанні компа, з Віндою, Лінуксами і т. д. я працюю як звичайне біляффко. Недавно сміялися з того, що відкрили мені кілька місяців тому як працювати через командну стрічку (та, я не знав про cmd, ги-ги). Про архітектуру компа і проців я взагалі мовчу, для мене це чорний ящик, і сидітиму я на Вінді бо лише на ній ідуть ігри, які мене цікавлять. Зате за потреби я можу написати бота, який заспамить Таравені або нескладний сайтєг, або потрібну лібу. Бо це дає мені Java, яка не їбе мені мізки здобуттям знань, які мені нафіг не потрібні як розробнику.

З. З. І. Розробка на Java якщо правильно організувати процес (продумати архітектуру, закодити абстрактні класи та інтерфейси) дає зростаючу швидкість. Типу спочатку результату майже немає або дурні прототипи, які викинуться після показу. Зате коли переходиться оцей рубіж розробки не копіпастою, а посидіти і акуратно все розробити - все робиться швидко. Форму я зараз клепаю за 2-3 години, логіку навішую ще 1,5. Причому форма зі свистілками-перділками, замовники щоб описати її витрачають більше часу, ніж я на написання коду. А коли треба було у таблицях реалізувати можливість ховати непотрібні колонки - це зайняло 2 години, з яких я 1,5 години думав, а кодив півгодини, причому поміняв код лише 2 класів і додав ще один свій.
  • 0

#32 xTANATOSx

    ( ╯°□°)╯

  • Заблоковані
  • PipPipPipPipPipPipPipPipPipPip
  • 1502 повідомлень
  • Стать:Чоловік
  • Місто:Столиця самогоноваріння України

Відправлено 16.04.2012 – 14:30

Гетьман це все добре, але до чого був весь це монолог? Тобі поговорити нізким, чи просто приступ графоманіїї?
Якщо хочеш розповідати про своє життя напиши собі на яві бложик.
  • 0

#33 _Ex

    STATUS_OK

  • Користувачі
  • PipPipPipPipPipPipPipPipPipPip
  • 1747 повідомлень
  • Стать:Чоловік
  • Місто:Бахмут, Південна Слобожанщина, Україна

Відправлено 17.04.2012 – 01:28

Цитата

Джава пропонує універсальне рішення для більшості задач
.NET-ники, пхп-шники, питонники і інші уебзбоченці які вмудряються використовувати щось ще диковинніше))) скажуть те саме про своє. Принаймні з перелічених точно всі скажуть. Так, висока явина поширеність сама себе посилює, - для яви створена вже і створюється далі купа можливостей використуовати її будь де. Але я казав не про зручності/незручності користання цією технологією хоча б через те, що я в ній ніхрєна не розбираюсь, вчив яву вже давно, закинув і не увійшов в її світ; я акцентував саме на якості реалізації платформи. Як то кажуть: на С дуже легко стрільнути собі в ногу, а на яві ти виявляєш, шо за тебе вже все зробили і в ногу тобі стрільнули.))) Вона вже кілька років тримає першість в кількості придатних для експлуатації вразливостей. Так, саме жрє, саме те, що потрібно шоб ганяти всі оці тонни писанини по всьму світу, саме те, що має стояти на компутері шоб викорисутовувати цю технологію в усіх її багатих проявах, саме воно стало мішенню для шкідливого пз, стало через жахливу якість реалізації. Бо помилки роблять всі, і є багато широковикористовуваних а значить потенційних жертв для цілення технологій, продуктів тощо, але саме ява, саме вона - заслужений лідер, такий собі антигерой. Але я вже повторююсь.

Цитата

Усім, хто зараз почне сратися зі мною: так, я нуб у використанні компа
Краще бути розумним нубом, ніж не дуже розумним хвастливим "кулхацкєром" який тіке й пише шо "ви всі дибіли". виходити з позиції: так я нуб вигідніше. Ми тут всі нуби. В протівном случаї, всі незгодні хай показують свої мегапроєкти. :)

Цитата

і сидітиму я на Вінді бо лише на ній ідуть ігри, які мене цікавлять.
От чого не вистачає Віндовим пользунам, так це патріотизму. Видно це речі обратнопропорційні до поширености. принаймні порівняння з лінупсом підтверджує. :D

Цитата

Зате за потреби я можу написати бота, який заспамить Таравені або нескладний сайтєг, або потрібну лібу. Бо це дає мені Java, яка не їбе мені мізки здобуттям знань, які мені нафіг не потрібні як розробнику.
Знову ж, спорити про смаки і вибір напрямку - це невдячна й непотрібна справа. Просто як репліка. От мені було б цікавіше того ж бота ну це до прикладу написати на С, - самому реалізувати протокол, самому повозитися з сокетами, многопоточність там, парсінг шмарсінг. ну все, просто самому (все - по возможності канєшно :D), якось воно ближче до суті, з більшим простором і могутністю. це ж для душі, якось воно не вставляє, шо буквально все, все за тебе зробили. А ти пишеш галімі обгортки. Навіть якщо це "не для душі"))) то всеодно прикольніше на С/С++. Чи ви думаєте, шо інтерфейсів/бібліотек для таких мов як С чи С++ не має які дають реалізувати "те шо треба"? Ну це якщо не про веброзробку. Звісно є! А вчити всеодно всюди треба, і в тих же явах, сі-шарпах своєї специфічної фігні теж купа яку треба розгрібати шоб корисутватися нею правильно. І взагалі чим "простіше", "легше для засвоєння", "швидше в написанні" воно є, тим повільніше, обмеженіше в можливостях воно теж є на додачу. До речі, явуни, а чи й досі на яві не можна написати програму ping? ;)
  • -1

#34 kalamar

    Старійшина

  • Користувачі
  • PipPipPipPipPipPipPipPipPipPip
  • 4225 повідомлень
  • Стать:Чоловік
  • Місто:Чорнильщина

Відправлено 20.04.2012 – 09:51

Перегляд допису_Ex (17.04.2012 – 01:28) писав:

Просто як репліка. От мені було б цікавіше того ж бота ну це до прикладу написати на С, - самому реалізувати протокол, самому повозитися з сокетами, многопоточність там, парсінг шмарсінг. ну все, просто самому (все - по возможності канєшно :D), якось воно ближче до суті, з більшим простором і могутністю. це ж для душі, якось воно не вставляє, шо буквально все, все за тебе зробили. А ти пишеш галімі обгортки. Навіть якщо це "не для душі"))) то всеодно прикольніше на С/С++. Чи ви думаєте, шо інтерфейсів/бібліотек для таких мов як С чи С++ не має які дають реалізувати "те шо треба"? Ну це якщо не про веброзробку. Звісно є! А вчити всеодно всюди треба, і в тих же явах, сі-шарпах своєї специфічної фігні теж купа яку треба розгрібати шоб корисутватися нею правильно. І взагалі чим "простіше", "легше для засвоєння", "швидше в написанні" воно є, тим повільніше, обмеженіше в можливостях воно теж є на додачу. До речі, явуни, а чи й досі на яві не можна написати програму ping? ;)
А хіба є сенс в тому, щоб щоразу винаходити велосипеда? C не підходить практично для всіх областей до потрібна швидка розробка програми. До дого ж жава портовна, тоді як С "портовний".

Перегляд допису_Ex (17.04.2012 – 01:28) писав:

Ні, для мене ніколи не було секретом чого "так мало" шкідливого ПЗ під так звані уніхлайк системи - нецікавість через малопоширеність.
Гаразд. До голівору. :)
Те що ви пишете то типове нерозуміння суті, яке віндузятники часто повторюють. Насправді під юнікс подібні системи якраз дуже вигідно писати шкідливе ПЗ, адже на юнікс-подібних системах тримається інтернет, великі сервера. Набагато цікавіше зламати сервера НАТО чи гугла, ніж підсунути трояна якомусь хом`ячку. Хоч юніксів менше, зате виграш чи сатисфакція значно більші. Але написати шкідливе дієве ПЗ для юнікс-систем справді складніше, бо найбільша дірка в системі - користувач.
Р. S. Не будьте ви аж таким фанатиком. Подобається комуся жава, хай вивчає. :wink2:
  • 0

#35 _Ex

    STATUS_OK

  • Користувачі
  • PipPipPipPipPipPipPipPipPipPip
  • 1747 повідомлень
  • Стать:Чоловік
  • Місто:Бахмут, Південна Слобожанщина, Україна

Відправлено 21.04.2012 – 00:36

Перегляд дописуkalamar (20.04.2012 – 09:51) писав:

А хіба є сенс в тому, щоб щоразу винаходити велосипеда? C не підходить практично для всіх областей до потрібна швидка розробка програми. До дого ж жава портовна, тоді як С "портовний".
Є. Якщо ти учишся. Хештаблиці, бінарні дерева, які самобалануються, Б-дерева, різні алгоритми там, розуміння протоколів, вміння імплементувати їх, мережні програмні ітнерфейси, вміння робити лескичний/синткксичний/семантичний аналіз, щоб вміти реалізовувати код який робе зі всякими структурованими об*єктами (якто ті ж протоколи, всякі формати) і купа іншого. Якщо тобі це цікаво. Хто ж вам ті "батарейки" писатиме для пітона, якщо всі будуть тіке гратися в функціональне програмування :lol: і споживати що хтось написав. Я казав шо мені цікаво, а не закликав усіх цікавитися тим чим я.
жава портована. і дірки в її реалізкації теж. уявіть вразили так само всіх. уявіть навіть ваш уніх. мова йшла про це. портованість це не єдине що потрібне. а часто воно й нафік не потрібне. А на мою думку така портованість як в С чи С++, - значно краща ніж як в інтерптетованих мов. Так, більше зусиль треба прикладати, але й результат набагато кращий. Хоча ця навала Java/C#/Python//... і нішої фігні - нездоланна всі мастурбують на них і в багатьої сферах тіке їх і використовують. Ну й використовуйте, хто вам не дає. (Я не віднажував нікого, писав за зовсім інше - якість/безпечність жабиного середовища виконання). Текстові протоколи, тесктові формати обміну даними між програмами, інерпретатори і ВМ, шо ж, куди дорозвивались...

Цитата

Гаразд. До голівору. :)
Те що ви пишете то типове нерозуміння суті, яке віндузятники часто повторюють. Насправді під юнікс подібні системи якраз дуже вигідно писати шкідливе ПЗ, адже на юнікс-подібних системах тримається інтернет, великі сервера. Набагато цікавіше зламати сервера НАТО чи гугла, ніж підсунути трояна якомусь хом`ячку. Хоч юніксів менше, зате виграш чи сатисфакція значно більші.
Напрсавді все навпаки. Це про розуміння суті. Майже тотально індустрія малварі цілиться на кінечного юзера на те щоб вкарсти його гроші, кажучи коротко. Справа не в набагато цікавіше, а в набагато прибуткоівше. Це по-перше, друге сервери мають значно меншу поверхню атаки. Це обрізає можливости. Можна найти вразливості але до них не дістатися. Якщо це веб сервер, то він ззовні приймає тільки хттп-запити. І навіть якийсь вміст, який він звантажує собі. він просто звалює в бд. Тоді як користувач клієнта. цей вміст круте в себе: слухає музичку, дивится картинки. грає на дірявій яві якісь ігри, читає в дірявому адобівському акробаті пдф-книжки, соває флешки з якоюсь фігнею собі в комп. А от щодо ддосення, чи зламів на рівні веб так би мовити. тобто коли віднаходяться дірки в т.зв. веб застосунках, тобто кажучи загально власне в сайті, то це постійно відбувається. будь де. (навіть я тут провів одну, CSRF атаку (сподліваюсь її тут памятають)! :lol: на убунтівському сервері, то ж що? це взагалі не важливо на чому)))) і ламають і он група анонімус яку там обрали "людиною року" чи як, тому яксрвае підтвердження. і навіть псували якусь кодову базу вашого фсф. в мене в одній книжці є, не памятаю сцилок. Є ж дуже різні типи вразливостей і наслідків їхнього експуатування якщо це мовливо. Якщо балакати про найнебезпечніше: площину вразливостей яка дає можливість виконати віддалено машинний код без будь якого обдурювання юзера, - то на серверах це значно складніше зробити ніж на клієнтських машинах. І тут справа не в дурости юзерів, бо соцінженерія - це не епроблема ПЗ. А кажучи коротко - в поверхні атаки. От про справжні "дірки", від яких не захистить ваша надінтелеуалність, ось недавно читав статєйку якогось пітоніста про те, "який паганий пхп" і там дуже цікава історія повідувалася про виправлення творцями пхп знайденої вразливости на переповнення цілого. нате сцилку яка в тій статті згадується якщо знаєте С, поржете. Це такий штрих до "маігчєской ніуязвіомості юнікса і юніксоїдів патамушо вони всі очінь умні патамушо всі сервера...". Звісно, з такими фіксами, під уніхом вразливостей не може бути в принципі! :lol: Розумієте, я кажу, шо дірки є всюди, шо невразливість юнікса - це міф, просто він нафік нікому не треба, шоб його атакувати, а ви - знову про сервери, суперкомпютери і що ви всі дуже розумні.
Ну й нарешті, веб і інших серверів на платформі Віндовс не так вже й менше ніж слюнікса. А от прибилЯ на цьому ринку - більші! ги частка ~52% Такшо хто там на чому тримається... Супиркомпутери згадайте і галивуд для спокійніше. :lol:

Цитата

Але написати шкідливе дієве ПЗ для юнікс-систем справді складніше, бо найбільша дірка в системі - користувач.
Який милий натяк на те які ви лінуксоїди всі розумні. :D Але фактично ви тіке підтвержуєте думку: на лінусках сидять тіке купука гіків, на Віндовсі ж і гіки, яких десь в ~10 - 20 разів більше ніж лінуксових, але ж іще і ВСЯ РЕШТА. Якої значно більше і перших і других, і яка менш компетентна в системі щоб бути легше піддана обману. А це якраз і воно. Більшість заражень - це необдумані дії корисутвача, який наприклад взяв і запустив (на правах адміна, бо він тіке так і сидить!) якесь вкладення з якоїсь пошти. Написати такого "монстра" можна під будь яку систему. Але стоп. Ті хто розсилав ці файли, він що ідіот і не знає яка система з імовірністю 90% буде в потенційної жертви щоб писати який небудь кей логер чи будь який руткіт під лінуск? буде потреба знайдуть і напишуть. і не винні тут ніякі мови, немає ніякої магічности юнікса. все це фігня повна. от до речі, в одній книжці автори специ з руткітів розмірковують, що мовляв в усьому винні С/С++, от прийде мовляв ява... :lol: нюню.

Цитата

Р. S. Не будьте ви аж таким фанатиком. Подобається комуся жава, хай вивчає. :wink2:
Ви взагалі читали про що писав я? Там демотивуючий фактор не вчити яву може випливти хіба як висновок. Але це папуаси ораклу винні.
  • -1

#36 kalamar

    Старійшина

  • Користувачі
  • PipPipPipPipPipPipPipPipPipPip
  • 4225 повідомлень
  • Стать:Чоловік
  • Місто:Чорнильщина

Відправлено 21.04.2012 – 13:33

Перегляд допису_Ex (21.04.2012 – 00:36) писав:

Є. Якщо ти учишся. Хештаблиці, бінарні дерева, які самобалануються, Б-дерева, різні алгоритми там, розуміння протоколів, вміння імплементувати їх, мережні програмні ітнерфейси, вміння робити лескичний/синткксичний/семантичний аналіз, щоб вміти реалізовувати код який робе зі всякими структурованими об*єктами (якто ті ж протоколи, всякі формати) і купа іншого. Якщо тобі це цікаво. Хто ж вам ті "батарейки" писатиме для пітона, якщо всі будуть тіке гратися в функціональне програмування :lol: і споживати що хтось написав. Я казав шо мені цікаво, а не закликав усіх цікавитися тим чим я.
З Абсолютною більшістю перерахованого вами можна знайомитись практично на будь-які мові програмування, причому на принаймні половині мов програмування з тим знайомитись зручніше. У С, як в навчальної мови, жодних переваг, тільки недоліки. Як на мене, то єдина справжня перевага С - якісні компілятори. С просто уже довго є, й на розробку компіляторів багато зусиль витрачено, тепер уже навчились робити добрі компілятори С. А так, то С то технологічне непорозумуння 60 років. (це до голівору :rolleyes: ) Джава наче не функціональна мова, Haskell приклад функціональної мови.

Перегляд допису_Ex (21.04.2012 – 00:36) писав:

жава портована. і дірки в її реалізкації теж.
Дірки є у всьому, що працює в реальному світі. Ви піднесли до глобальної катастрофи дірки в застарілому плаґіні.

Перегляд допису_Ex (21.04.2012 – 00:36) писав:

Але фактично ви тіке підтвержуєте думку: на лінусках сидять тіке купука гіків
Це було правдою років 7 тому. Тепер на лінуксі сидять далеко не тільки ґіки. Сама модель, за якою користувач лінукс отримуе ПЗ, уже є проблемою для вірусів. Але, оскільки тепер лінукс використовують багато колишніх користувачів віндовз, то тепер шкідливе ПЗ (не лабораторне, а з реального світу) для лінукса можливе. Просто колишні користувачі віндовз перенесли в лінукс деякі свої звички.

Ось, супер-пупер троян для лінукса, як хочете пореготати.

Повідомлення відредагував kalamar: 21.04.2012 – 13:41

  • 0

#37 _Ex

    STATUS_OK

  • Користувачі
  • PipPipPipPipPipPipPipPipPipPip
  • 1747 повідомлень
  • Стать:Чоловік
  • Місто:Бахмут, Південна Слобожанщина, Україна

Відправлено 22.04.2012 – 22:06

Перегляд дописуkalamar (21.04.2012 – 13:33) писав:

З Абсолютною більшістю перерахованого вами можна знайомитись практично на будь-які мові програмування, причому на принаймні половині мов програмування з тим знайомитись зручніше.
Ну познайомиться, а далі? Справєжні програми які використовують те написані не на бірюльках всяких, а на С/С++. Крім того вчити як це робити в С - значно цікавіше, бо в принципі можна все самому робити. Це надихає.

Цитата

У С, як в навчальної мови, жодних переваг, тільки недоліки. Як на мене, то єдина справжня перевага С - якісні компілятори. С просто уже довго є, й на розробку компіляторів багато зусиль витрачено, тепер уже навчились робити добрі компілятори С. А так, то С то технологічне непорозумуння 60 років. (це до голівору :rolleyes: ) Джава наче не функціональна мова, Haskell приклад функціональної мови.
Ніяких недоліків в неї немає. Це потужна виразітєльна проста і красива мова. А компілятори явісні між іншим і тому. що вона дуже ясна і проста. Не плутана і суперчена. Хоча про С++ цього вже не скажеш.
А так то С - це якраз те, що варте Тюрингівської премії, яку її творці отримали. С - це справжній неоціненний внесок, а унікс, то дійсно - непорозуміння. точніше його нинішні клони. бо я повірю, шо той PDP-шний юнікс 70-х років був дійсно класною і прогесивною ОС. Але ж то 70-ті!!!
І я не називав яву фунціональною. Так, а ще F#. Чули про такий? Майкрософтівський. :rolleyes: :lol:

Цитата

Дірки є у всьому, що працює в реальному світі. Ви піднесли до глобальної катастрофи дірки в застарілому плаґіні.
Це не я, він сам себе глобалізував, заразивши ~600'000 компютерів, що для ОС яка має всього кілька відсотків частки - справжня глобальна срака.
А взагалі аплодую вашій "об*єктивности". "якомусь", "застарілому" "плагіні". З кінця минулого року понині - це не застаріле. і не якомусь плагнін, а в середорвищі виконання. І головне, - це тягнеться давно - лідерство яви в списку найдірвішого пз. Це не якась одна вразливість. Це просто я про врзаливість яка вдарила по макосі згадав. Я не дуже цим цкавлюсь, але коли відвідую сайти де зведення даються, то ява й адоб - перші гівнописці.

Цитата

Це було правдою років 7 тому. Тепер на лінуксі сидять далеко не тільки ґіки. Сама модель, за якою користувач лінукс отримуе ПЗ, уже є проблемою для вірусів. Але, оскільки тепер лінукс використовують багато колишніх користувачів віндовз, то тепер шкідливе ПЗ (не лабораторне, а з реального світу) для лінукса можливе. Просто колишні користувачі віндовз перенесли в лінукс деякі свої звички.
Та всі юзери глинукса це колишні юзери Віндовс, які в основному перейшли для повимахуватися. Бо в цій Галактиці ОС == Windows. :happy1: Це раз, друге всі балачки, "це колись так було... а зараз ..." - глинуксові фонати з самої його з*яви розказують ці байки, що там шось міняється, а насправді там стабільний "реально нікому не цікаво". І пояснювати можливість наявности шкідливого ПЗ на лінуксі "великою" кількістю Віндовс-користувачів які там якісь звички перенесли - це було б смішно, як би було. Я ще раз повтроюю: соцінженерія - це не проблема ПЗ. І тупість чи необачність користувачів, яка дає можливість розповсюджуватися шкідливому ПЗ - не предмет цієї балачки. Мова первинно ішла про придатні для експлуатації помилки які моужть привести до виконання довільного коду. І про міфи, що такого нема в слюніксах. Є. А щодо "тупих" юзерів і заражень з цим повязаних, - можна вважати всіх неуважних лінуксоїдів "спадщиною Віндовс" якщо це тішитиме, але правда інша: якщо система хоче бути для вжитку корисутвчаем який компутер юзає для своїх далеких від компутерних наук цілей, то система має бути готова до такого юзера. Інакше: вона просто ТУПО не здатна цього забезпечити, вона примітивна недороблена і непридатна. В цьому плані, коли далекий від восхіщєнія торвальцем і навіть від адмінітсрування юзер шось там запускає, то ваш лінукс як сито. Він як колос на глиняних ногах - може розвалиться від маленького штурхана. Бо це подєлки, вузькоспеціалізвоані подєлки іграшка одного програміста, який вигадав свій вєлік клонувавши мінікс яку з часом підігнали під певні нужди і заюзали шоб зекономити бабло на комерційному юниксі, чи тому ж Віндовсі, і ця іграшка не підходить для найважчого - обслуговування реального юзера. Вона занадто потворна для нього, незручна, і як ви самі написали - вразлива до звичок цього реального юзера, набагато сильніше за інших.

Цитата

Я сподіваюсь це ж не з гну гумор колекшн, ібо ж пожалійте мене: читати те - небезпечно для почуття гумору. :lol:
Ну а вам сподабалось
if(size > INT_MAX)
в пхп багфіксі? :D а там size використовується між іншим для виділення памяти...

Повідомлення відредагував _Ex: 22.04.2012 – 22:18

  • -1

#38 xTANATOSx

    ( ╯°□°)╯

  • Заблоковані
  • PipPipPipPipPipPipPipPipPipPip
  • 1502 повідомлень
  • Стать:Чоловік
  • Місто:Столиця самогоноваріння України

Відправлено 22.04.2012 – 22:20

Цитата

Справєжні програми які використовують те написані не на бірюльках всяких, а на С/С++.
Чувак, ти реально відірваний від реальності.Зараз ціниця час розробки продукту, а не його швидкодія. Час роботи програміста коштує набагато більше за часу роботи компютора, і як казам мій колишній роботодатель

Цитата

Нам вигідніши купити ще один сервер, ніж найняти ще одного програміста
На С пишуться прошивки для мікроконтролерів і ядро Юнікса. На С++ програми для розрахунку на багатоядерних системах і проги для яких критична швидкодія. І все, приїхали. Для веба є рельси асп.нет та піашпі.
Для дескопа С#, Qt, делфи(ага на ньому досихпір пишуть). І універсальна Ява для вього.

P.S.Взагалі рівняти С\С++ з явою вкрай некоректно, так як вони для різних цілей юзаються

Повідомлення відредагував xTANATOSx: 22.04.2012 – 22:21

  • 0

#39 _Ex

    STATUS_OK

  • Користувачі
  • PipPipPipPipPipPipPipPipPipPip
  • 1747 повідомлень
  • Стать:Чоловік
  • Місто:Бахмут, Південна Слобожанщина, Україна

Відправлено 22.04.2012 – 22:41

Перегляд дописуxTANATOSx (22.04.2012 – 22:20) писав:

Чувак, ти реально відірваний від реальності.Зараз ціниця час розробки продукту, а не його швидкодія. Час роботи програміста коштує набагато більше за часу роботи компютора, і як казам мій колишній роботодатель
Ти сильно узагальнюєш. І я не балакав взагалі про шо там десь ціниться. Я казав про вподобання.

Цитата

На С пишуться прошивки для мікроконтролерів і ядро Юнікса. На С++ програми для розрахунку на багатоядерних системах і проги для яких критична швидкодія. І все, приїхали. Для веба є рельси асп.нет та піашпі.
Для дескопа С#, Qt, делфи(ага на ньому досихпір пишуть). І універсальна Ява для вього.

P.S.Взагалі рівняти С\С++ з явою вкрай некоректно, так як вони для різних цілей юзаються
Знову узагальнення. І воно неправильне. А на чому написані знамениті веб сервера, різні бібліотеки, які використовуються сотянми програм такими як бравзери, бібліотеки для вбудованих скбд (напр. sqlite), кодеки png, jpg флаки шмаки і маненький паравозік. На чому написана Windows, і драйвери. Віртуальні машини для тієї ж яви? інтерпретатори для таких мов як пхп? чи двигуни яваскрипта в бравзерах. купа різних програм, а не тіке компоненти/бібілотеки написані на чистому С, або це мішанина С, С++. Вважати що всі десктопні застосунки - це C# чи ява - несерйозно. І досі, найпотужніший програмний інтерфейс для найбільшої в світі ОС - це С-шний Win32 API. Хай навіть Майкрософт називає його С++, це С. Навіть для бидлокодерів і бидлопрограм на фрілансі і то не йде одна ява і сішарп.))) Qt - це всеодно С++.
Взагалі їх ніхто не рівняв, скоріше протиставляв, і то неспеціально, бо я тут відписався з інгшого приводу - дірявості яві і флешбектрояна на маоксь. вже просто потім в розмові згадав, що мені цікавіше на С. І найти що робити на С можна. Навіть без мікроконтролерів.
ЗІ. Бісові очіпятки.

Повідомлення відредагував _Ex: 22.04.2012 – 22:48

  • -1

#40 xTANATOSx

    ( ╯°□°)╯

  • Заблоковані
  • PipPipPipPipPipPipPipPipPipPip
  • 1502 повідомлень
  • Стать:Чоловік
  • Місто:Столиця самогоноваріння України

Відправлено 22.04.2012 – 22:53

Цитата

А на чому напсиані знамениті веб сервера, різні бібліотеки які використовуються сотянми програм такими як бравзери, бібілотеки для вбуддованих скбд (sqlite), кодеки png, jpg флаки шмаки і маненький паравозік. На чому напсиана Windows, і дравери. Віртуальні машини для тієї ж яви? інтерпретатори для таких мов як пхп? чи двигуни яваскрипта в бравзерах.
Я сказав теж саме, на С С++ пишуться програми для яких критична швидкодія. Але даких програм мало, віртуальні машини для яви можна на пальцях перерахувати, а програм для ява машин дуже і дуже багато. Теж саме і про пхп інтерпретаторів і веб серверів.
Я веду до того, що кожний інструмент потрібно використовувати там, де він буде доцільний, а не пихати куди треба і не треба С++.
  • 0



Кількість користувачів, що читають цю тему: 1

0 користувачів, 1 гостей, 0 анонімних