Как сейчас рынок в UK для Junior Java

User avatar
crypto5
Уже с Приветом
Posts: 4637
Joined: 24 Oct 2009 01:38
Location: Chicago ;-) -> SFBA!

Re: Как сейчас рынок в UK для Junior Java

Post by crypto5 »

Sergunka wrote:
crypto5 wrote:
Sergunka wrote:

Code: Select all

		Holder<Integer> a = Holder.new(1);
		Holder<Integer> b = Holder.new(2);
Вот так красивее
Что то не ест у меня
А вот так съела

Code: Select all

		Holder<Integer> a = new Holder (1);
		Holder<Integer> b = new Holder (2);
Я имелв виду что new() это кастомный статический метод, но так нельзя, new слово зарезервировано, можно поменять на create например. А твой вариант не типобезопасен, ты можешь в контруктор хоть стринг передать, все равно ошибки компиляции не будет, только варнинг.
In vino Veritas!
User avatar
valchkou
Уже с Приветом
Posts: 4185
Joined: 27 Apr 2011 03:43
Location: Сергели ->Chicago

Re: Как сейчас рынок в UK для Junior Java

Post by valchkou »

на самом деле swap на жабе делается например так

public static void main(String[] args) {
Integer a = 1;
Integer b = 2;
Integer i = a;
a = b;
b = i;
System.out.println("a: " + a + ", b: " + b);
}
а придумывание холдеров и прочего это скорее для интервью, чтобы отсеять кандидатов их придумывающих.
User avatar
M. Ridcully
Уже с Приветом
Posts: 11999
Joined: 08 Sep 2006 20:07
Location: Силиконка

Re: Как сейчас рынок в UK для Junior Java

Post by M. Ridcully »

valchkou wrote: а придумывание холдеров и прочего это скорее для интервью, чтобы отсеять кандидатов их придумывающих.
Т.е. правильный ответ - swap (как ф-ция) жабе не нужен?
Мир Украине. Свободу России.
User avatar
valchkou
Уже с Приветом
Posts: 4185
Joined: 27 Apr 2011 03:43
Location: Сергели ->Chicago

Re: Как сейчас рынок в UK для Junior Java

Post by valchkou »

M. Ridcully wrote:
valchkou wrote: а придумывание холдеров и прочего это скорее для интервью, чтобы отсеять кандидатов их придумывающих.
Т.е. правильный ответ - swap (как ф-ция) жабе не нужен?
гениально ! я сам бы до этого не допер
User avatar
crypto5
Уже с Приветом
Posts: 4637
Joined: 24 Oct 2009 01:38
Location: Chicago ;-) -> SFBA!

Re: Как сейчас рынок в UK для Junior Java

Post by crypto5 »

M. Ridcully wrote:
valchkou wrote: а придумывание холдеров и прочего это скорее для интервью, чтобы отсеять кандидатов их придумывающих.
Т.е. правильный ответ - swap (как ф-ция) жабе не нужен?
Я например уже и не помню когда такое бы понадобилось, вполне возможно что не нужен 8)
In vino Veritas!
User avatar
Интеррапт
Уже с Приветом
Posts: 17281
Joined: 07 Sep 2011 10:05
Location: Seattle, WA

Re: Как сейчас рынок в UK для Junior Java

Post by Интеррапт »

В копилку к тому, что Джава, как язык, устаревает. По сравнению с тем же C#, где возможно параметры передавать и by value и by reference.
User avatar
dotcom
Уже с Приветом
Posts: 9035
Joined: 25 Oct 2011 19:02
Location: SVO->ORD->SFO

Re: Как сейчас рынок в UK для Junior Java

Post by dotcom »

Радует, что нашими стараниями каждый топик сваливается в java bash русло. :D
User avatar
crypto5
Уже с Приветом
Posts: 4637
Joined: 24 Oct 2009 01:38
Location: Chicago ;-) -> SFBA!

Re: Как сейчас рынок в UK для Junior Java

Post by crypto5 »

Интеррапт wrote:В копилку к тому, что Джава, как язык, устаревает. По сравнению с тем же C#, где возможно параметры передавать и by value и by reference.
Бизнес кобол и должен быть максимально простым языком. Я и так считаю что джава перегружена фичами.
In vino Veritas!
User avatar
Интеррапт
Уже с Приветом
Posts: 17281
Joined: 07 Sep 2011 10:05
Location: Seattle, WA

Re: Как сейчас рынок в UK для Junior Java

Post by Интеррапт »

crypto5 wrote:Бизнес кобол и должен быть максимально простым языком.
Простой - это не значит, что языку для нормального функционирования нужно столько бойлер-плейт кода. Swap? Извольте писать отдельный holder класс (или массив использовать). Properties? Извольте вводить локальную переменную и писать многостраничные getter/setters, к каждому из которых нужно еще и javadocs прикручивать. И т.п.
User avatar
Sergunka
Уже с Приветом
Posts: 34124
Joined: 03 Dec 2000 10:01
Location: Vladivostok->San Francisco->Los Angeles->San Francisco

Re: Как сейчас рынок в UK для Junior Java

Post by Sergunka »

Интеррапт wrote:В копилку к тому, что Джава, как язык, устаревает. По сравнению с тем же C#, где возможно параметры передавать и by value и by reference.
Ну, тут замысел на мой взгляд более хитровывернутый оказывается Integer, Double, Boolean и прочие как и String immutable т.е. неизменямые объекты типо чтоб народ очень повеселить на предмет мультипоточности :fr:

Поэтому тот же StringBuffer будет в подобной ситуации работать, а immutable классы нет. В scala это даже явно указывается чтоб чего не перепутать.
"A patriot must always be ready to defend his country against his government." Edward Abbey
User avatar
Интеррапт
Уже с Приветом
Posts: 17281
Joined: 07 Sep 2011 10:05
Location: Seattle, WA

Re: Как сейчас рынок в UK для Junior Java

Post by Интеррапт »

dotcom wrote:Радует, что нашими стараниями каждый топик сваливается в java bash русло. :D
А топикстартер этот все-равно задает почти риторические вопросы, а когда ему чего-то в других топиках советовали, то он особо на советы не реагировал :)
User avatar
Sergunka
Уже с Приветом
Posts: 34124
Joined: 03 Dec 2000 10:01
Location: Vladivostok->San Francisco->Los Angeles->San Francisco

Re: Как сейчас рынок в UK для Junior Java

Post by Sergunka »

Интеррапт wrote: Swap? Извольте писать отдельный holder класс (или массив использовать).
Ну только для иммютабл классов для того же StringBuilder вполне и так прокатит

Code: Select all

	private static void swap(StringBuilder a, StringBuilder b) {
		StringBuilder i = new StringBuilder(a);
		a.delete(0, a.length()).append(b);
		b.delete(0, b.length()).append(i);
	}
:D
"A patriot must always be ready to defend his country against his government." Edward Abbey
User avatar
crypto5
Уже с Приветом
Posts: 4637
Joined: 24 Oct 2009 01:38
Location: Chicago ;-) -> SFBA!

Re: Как сейчас рынок в UK для Junior Java

Post by crypto5 »

Интеррапт wrote:
crypto5 wrote:Бизнес кобол и должен быть максимально простым языком.
Простой - это не значит, что языку для нормального функционирования нужно столько бойлер-плейт кода.
отсутствие pass by reference параметров это такой подход к дизайну, как в хаскеле например, жертвование элементами удобства в пользу борьбы с сайдэфектами.
In vino Veritas!
User avatar
Интеррапт
Уже с Приветом
Posts: 17281
Joined: 07 Sep 2011 10:05
Location: Seattle, WA

Re: Как сейчас рынок в UK для Junior Java

Post by Интеррапт »

crypto5 wrote:
Интеррапт wrote:
crypto5 wrote:Бизнес кобол и должен быть максимально простым языком.
Простой - это не значит, что языку для нормального функционирования нужно столько бойлер-плейт кода.
отсутствие pass by reference параметров это такой подход к дизайну, как в хаскеле например, жертвование элементами удобства в пользу борьбы с сайдэфектами.
Да я вас прошу. Весь этот "подход к дизайну" постепенно убирается в пользу большего удобства. Достаточно посмотреть эволюцию Джавы. Так что еще увидим версию, в которой out параметры появятся.
User avatar
crypto5
Уже с Приветом
Posts: 4637
Joined: 24 Oct 2009 01:38
Location: Chicago ;-) -> SFBA!

Re: Как сейчас рынок в UK для Junior Java

Post by crypto5 »

Интеррапт wrote:
crypto5 wrote:
Интеррапт wrote:
crypto5 wrote:Бизнес кобол и должен быть максимально простым языком.
Простой - это не значит, что языку для нормального функционирования нужно столько бойлер-плейт кода.
отсутствие pass by reference параметров это такой подход к дизайну, как в хаскеле например, жертвование элементами удобства в пользу борьбы с сайдэфектами.
Да я вас прошу. Весь этот "подход к дизайну" постепенно убирается в пользу большего удобства. Достаточно просмотреть эволюцию Джавы. Так что еще увидим версию, в которой out параметры появятся.
А поподробнее про убирается?
In vino Veritas!
Cabron
Уже с Приветом
Posts: 114
Joined: 28 Sep 2007 07:18
Location: MOW.RU-CA.US-MOW.RU-TLV.IL-WA.US

Re: Как сейчас рынок в UK для Junior Java

Post by Cabron »

Вот так:

Code: Select all

public class Swapper	 {
       public static void main(String[] args) {
	      Integer a = new Integer(1);
	      Integer b = new Integer(2);
	      
	      swap (a, b);
	      System.out.println("a: " + a +", b: " + b);
	}

	   private static void swap(Integer a, Integer b) {
	        int i = a.getVal();
	        a.setVal(b.getVal());
	        b.setVal(i);
	   }

}

class Integer {
	   private int val;

	   public Integer(int val) {
		   this.val = val;
	   }	   
	   public int getVal() {
	       return val;
	   }
	   public void setVal(int val) {
		   this.val = val;
	   }	   
	   public String toString() {
		   return String.valueOf(val);
	   }
}
User avatar
crypto5
Уже с Приветом
Posts: 4637
Joined: 24 Oct 2009 01:38
Location: Chicago ;-) -> SFBA!

Re: Как сейчас рынок в UK для Junior Java

Post by crypto5 »

Cabron wrote:Вот так:

Code: Select all

public class Swapper	
       public static void main(String[] args) {
	      Integer a = new Integer(1);
	      Integer b = new Integer(2);
	      
	      swap (a, b);
	      System.out.println("a: " + a +", b: " + b);
	}

	   private static void swap(Integer a, Integer b) {
	        int i = a.getVal();
	        a.setVal(b.getVal());
	        b.setVal(i);
	   }

}

    class Integer {
	   private int val;

	   public Integer(int val) {
		   this.val = val;
	   }	   
	   public int getVal() {
	       return val;
	   }
	   public void setVal(int val) {
		   this.val = val;
	   }	   
	   public String toString() {
		   return String.valueOf(val);
	   }
}
Идея Сергунки лучше, т.к. у него не надо под каждый Long, Object, YourClass новый враппер делать.
In vino Veritas!
User avatar
vm__
Уже с Приветом
Posts: 11756
Joined: 10 Feb 2005 16:08
Location: CMH

Re: Как сейчас рынок в UK для Junior Java

Post by vm__ »

Интеррапт wrote:...По сравнению с тем же C#, где возможно параметры передавать и by value и by reference.
:fr:
А в античном (древнейшем/классическом) С можно ли было передавать и так, и так?
А в Фортранах всяких? (в ассемблере про такое, наверное, и задумываться даже не всякий станет?)
Давно пора уже идеи ("обобщённые"!) передавать, а не всякую там застарелую хрень! :gen1:
Или вообще т.наз. инновации, а? :mrgreen:
Cabron
Уже с Приветом
Posts: 114
Joined: 28 Sep 2007 07:18
Location: MOW.RU-CA.US-MOW.RU-TLV.IL-WA.US

Re: Как сейчас рынок в UK для Junior Java

Post by Cabron »

crypto5 wrote: Идея Сергунки лучше, т.к. у него не надо под каждый Long, Object, YourClass новый враппер делать.
Но с Integer-ами в итоге работает :-)

А в своем классе я и так state поменяю как мне надо, если он не immutable.
Last edited by Cabron on 17 Nov 2012 09:19, edited 1 time in total.
User avatar
Интеррапт
Уже с Приветом
Posts: 17281
Joined: 07 Sep 2011 10:05
Location: Seattle, WA

Re: Как сейчас рынок в UK для Junior Java

Post by Интеррапт »

OMG. Только давайте не будем действительно код для swap писать :)
Holder pattern для Java настолько уже избитая штука, что даже не смешно.
Если кому уж так нужно, то берем обычный common lang и используем MutablePair
User avatar
crypto5
Уже с Приветом
Posts: 4637
Joined: 24 Oct 2009 01:38
Location: Chicago ;-) -> SFBA!

Re: Как сейчас рынок в UK для Junior Java

Post by crypto5 »

Cabron wrote:
crypto5 wrote: Идея Сергунки лучше, т.к. у него не надо под каждый Long, Object, YourClass новый враппер делать.
А в своем классе я и так state поменяю как мне надо, если он не immutable.
А если в том классе 100500 полей?
In vino Veritas!
Cabron
Уже с Приветом
Posts: 114
Joined: 28 Sep 2007 07:18
Location: MOW.RU-CA.US-MOW.RU-TLV.IL-WA.US

Re: Как сейчас рынок в UK для Junior Java

Post by Cabron »

Интеррапт wrote:OMG. Только давайте не будет действительно код для swap писать :)
Holder pattern для Java настолько уже избитая штука, что даже не смешно.
Если кому уж так нужно, то берем обычный common lang и используем MutablePair
Вся Java в общем-то уже избитая штука со своими паттернами. Уже рекоммендуют switch statements заменять ООП дизайном, иначе некошерно. Целые лекции проводят о том, как правильно переписывать toString.
Last edited by Cabron on 17 Nov 2012 09:37, edited 1 time in total.
Cabron
Уже с Приветом
Posts: 114
Joined: 28 Sep 2007 07:18
Location: MOW.RU-CA.US-MOW.RU-TLV.IL-WA.US

Re: Как сейчас рынок в UK для Junior Java

Post by Cabron »

crypto5 wrote:
Cabron wrote:
crypto5 wrote: Идея Сергунки лучше, т.к. у него не надо под каждый Long, Object, YourClass новый враппер делать.
А в своем классе я и так state поменяю как мне надо, если он не immutable.
А если в том классе 100500 полей?
Ну тогда рапперы делать если надо именно поменять референсы на объекты этих классов. Но обычно нужно просто изменить state самого объекта.
Насчет 100500 полей - плохой дизайн ООП. :-)
User avatar
crypto5
Уже с Приветом
Posts: 4637
Joined: 24 Oct 2009 01:38
Location: Chicago ;-) -> SFBA!

Re: Как сейчас рынок в UK для Junior Java

Post by crypto5 »

Cabron wrote:
crypto5 wrote:
Cabron wrote:
crypto5 wrote: Идея Сергунки лучше, т.к. у него не надо под каждый Long, Object, YourClass новый враппер делать.
А в своем классе я и так state поменяю как мне надо, если он не immutable.
А если в том классе 100500 полей?
Ну тогда рапперы делать если надо именно поменять референсы на объекты этих классов. Но обычно нужно просто изменить state самого объекта.
Насчет 100500 полей - плохой дизайн ООП. :-)
Ну вы же на работе открывая чужой код и видя плохой дизайн ООП не увольняетесь немедленно? Что то нужно делать!
In vino Veritas!
Cabron
Уже с Приветом
Posts: 114
Joined: 28 Sep 2007 07:18
Location: MOW.RU-CA.US-MOW.RU-TLV.IL-WA.US

Re: Как сейчас рынок в UK для Junior Java

Post by Cabron »

crypto5 wrote:
Cabron wrote:
crypto5 wrote:
Cabron wrote:
crypto5 wrote: Идея Сергунки лучше, т.к. у него не надо под каждый Long, Object, YourClass новый враппер делать.
А в своем классе я и так state поменяю как мне надо, если он не immutable.
А если в том классе 100500 полей?
Ну тогда рапперы делать если надо именно поменять референсы на объекты этих классов. Но обычно нужно просто изменить state самого объекта.
Насчет 100500 полей - плохой дизайн ООП. :-)
Ну вы же на работе открывая чужой код и видя плохой дизайн ООП не увольняетесь немедленно? Что то нужно делать!
Нужно загнать все объекты в ActiveMQ и пойти выпить кофе. Серьезно.

Return to “Работа и Карьера в IT”