Как технарю из России стать программером в США за 150К

User avatar
RobinF
Уже с Приветом
Posts: 3975
Joined: 04 Jun 2002 17:35

Re: Как технарю из России стать программером в США за 150К

Post by RobinF »

zzhou wrote:
ddv wrote:Так в С++ тоже все работает...а то что другой memory manager может существенно повысить производительность это еще надо доказать.
Такой memory manager в JVM просто сглаживает падение производительности вызванное GC, и ни каких приимуществ по сравнению с С++ не дает.
С каким утверждением вы не согласны (предполагается комманда/один программист одинакового уровня)
1. Рабочее место кассира написанное на Яве будет иметь меньше проблем с утечками памяти, падениями по page fault и т.д.
2. Разработка на Яве займет меньше времени.
Зависит от уровня программиста. У нормального и C++ не будет иметь "проблем с утечками памяти, падениями по page fault и т.д.", и разработка будет быстрее за счет использования более мощных фич языка которых нет в Java. А у того кто не может написать код C++ без "проблем с утечками памяти, падениями по page fault и т.д." и программа на жабе будет иметь кучу проблем типа NullPointerException'ов (возникающих ровно там же где page fault), тормозов, дедлоков, утечек хендлов файлов, сокетов и просто багов в функциональности. Раз уж ему мозгов не хватило на элементарщину типа смарт-пойнтеров.
zzhou wrote: 3. С точки зрения пользователя это приложение не будет работать медленнее. Может даже и быстрее будет казаться.
Даже пускаться будет раз в 20 медленее, окошки рисоваться медленнее, выглядеть и работать не так как все остальные программы на той же машине (мы говорим о рабочем месте - ака GUI - написаном на стандартном в жабе свинге). На мобильных устройствах - лаптопе, скажем, или таблете - тормознутость оборачивается еще и быстрым разрядом батареи (процессор гораздо дольше не входит в idle).
Last edited by RobinF on 16 Feb 2011 05:53, edited 1 time in total.
User avatar
crypto5
Уже с Приветом
Posts: 4637
Joined: 24 Oct 2009 01:38
Location: Chicago ;-) -> SFBA!

Re: Как технарю из России стать программером в США за 150К

Post by crypto5 »

RobinF wrote:
zzhou wrote:
ddv wrote:Так в С++ тоже все работает...а то что другой memory manager может существенно повысить производительность это еще надо доказать.
Такой memory manager в JVM просто сглаживает падение производительности вызванное GC, и ни каких приимуществ по сравнению с С++ не дает.
С каким утверждением вы не согласны (предполагается комманда/один программист одинакового уровня)
1. Рабочее место кассира написанное на Яве будет иметь меньше проблем с утечками памяти, падениями по page fault и т.д.
2. Разработка на Яве займет меньше времени.
Зависит от уровня программиста. У нормального и C++ не будет иметь "проблем с утечками памяти, падениями по page fault и т.д.", и разработка будет быстрее. А у того кто не может написать код C++ без "проблем с утечками памяти, падениями по page fault и т.д." и программа на жабе будет иметь кучу проблем типа тормозов, дедлоков, утечек хендлов файлов, сокетов и просто багов в функциональности. Раз уж ему мозгов не хватило на элементарщину типа смарт-пойнтеров.
Тока когда появляутся смартпоинтеры может куда то дется производительность:
http://flyingfrogblog.blogspot.com/2011 ... -than.html
zzhou wrote: 3. С точки зрения пользователя это приложение не будет работать медленнее. Может даже и быстрее будет казаться.
Даже пускаться будет раз в 20 медленее, окошки рисоваться медленнее, выглядеть и работать не так как все остальные программы на той же машине (мы говорим о рабочем месте - ака GUI - написаном на стандартном в жабе свинге). На мобильных устройствах - лаптопе, скажем, или таблете - тормознутость оборачивается еще и быстрым разрядом батареи (процессор гораздо дольше не входит в idle).
Замеряли?
In vino Veritas!
User avatar
RobinF
Уже с Приветом
Posts: 3975
Joined: 04 Jun 2002 17:35

Re: Как технарю из России стать программером в США за 150К

Post by RobinF »

Abappy wrote:
RobinF wrote: С++ конечно так себе но... If anything, язык его заменяющий должен быть в 10 раз сложнее в освоении, чтоб тест на знание языка сразу отсеивал "программистов". С++ отсеивает только 80% таковых. ;)
C++0x решит наши проблемы :)
Да, лямбды - шаг в верном направлении. ;)
User avatar
RobinF
Уже с Приветом
Posts: 3975
Joined: 04 Jun 2002 17:35

Re: Как технарю из России стать программером в США за 150К

Post by RobinF »

crypto5 wrote:
RobinF wrote: Даже пускаться будет раз в 20 медленее, окошки рисоваться медленнее, выглядеть и работать не так как все остальные программы на той же машине (мы говорим о рабочем месте - ака GUI - написаном на стандартном в жабе свинге). На мобильных устройствах - лаптопе, скажем, или таблете - тормознутость оборачивается еще и быстрым разрядом батареи (процессор гораздо дольше не входит в idle).
Замеряли?
Замеряли. ;)

А про батарейку...
When asked about Android’s weak battery life at the Google Zeitgeist forum, Google co-founder Larry Page said that if anyone is not getting a full day’s worth of battery, there’s “something wrong.” Page then went on to suggest it’s probably user habits and third-party apps causing battery woes. “When there is software running in the background, that just sort of exhausts the battery quickly,” said Page.
В 2.3 наконец сделали JIT - только iOS приложения все равно то же самое делают в разы быстрее. И процессор может спокойно поспать.
Поэтому браузер (как и остальные большие части) в Android на C++ написан - на жабном браузере юзеры б не много набраузили. ;)
User avatar
crypto5
Уже с Приветом
Posts: 4637
Joined: 24 Oct 2009 01:38
Location: Chicago ;-) -> SFBA!

Re: Как технарю из России стать программером в США за 150К

Post by crypto5 »

RobinF wrote:
crypto5 wrote:
RobinF wrote: Даже пускаться будет раз в 20 медленее, окошки рисоваться медленнее, выглядеть и работать не так как все остальные программы на той же машине (мы говорим о рабочем месте - ака GUI - написаном на стандартном в жабе свинге). На мобильных устройствах - лаптопе, скажем, или таблете - тормознутость оборачивается еще и быстрым разрядом батареи (процессор гораздо дольше не входит в idle).
Замеряли?
Замеряли. ;)

А про батарейку...
When asked about Android’s weak battery life at the Google Zeitgeist forum, Google co-founder Larry Page said that if anyone is not getting a full day’s worth of battery, there’s “something wrong.” Page then went on to suggest it’s probably user habits and third-party apps causing battery woes. “When there is software running in the background, that just sort of exhausts the battery quickly,” said Page.
В 2.3 наконец сделали JIT - только iOS приложения все равно то же самое делают в разы быстрее. И процессор может спокойно поспать.
Поэтому браузер (как и остальные большие части) в Android на C++ написан - на жабном браузере юзеры б не много набраузили. ;)
Вы на другую тему перескочили, на мобилах, тем более на андроиде совсем другая джава.
In vino Veritas!
User avatar
mr. Hide
Уже с Приветом
Posts: 5530
Joined: 07 Sep 2005 07:38
Location: Bay area

Re: Как технарю из России стать программером в США за 150К

Post by mr. Hide »

crypto5 wrote:Вы на другую тему перескочили, на мобилах, тем более на андроиде совсем другая джава.
Я не самый крупный в ней специалист, но мне не составляло труда переключаться между написанием жабного андроидного кода и консольного приложения на жабе (потому что). Совсем без проблем.
под мостом :-p
User avatar
crypto5
Уже с Приветом
Posts: 4637
Joined: 24 Oct 2009 01:38
Location: Chicago ;-) -> SFBA!

Re: Как технарю из России стать программером в США за 150К

Post by crypto5 »

mr. Hide wrote:
crypto5 wrote:Вы на другую тему перескочили, на мобилах, тем более на андроиде совсем другая джава.
Я не самый крупный в ней специалист, но мне не составляло труда переключаться между написанием жабного андроидного кода и консольного приложения на жабе (потому что). Совсем без проблем.
Но это же не повод аргументировать гипотетические тормоза серверного кода проблемами мобил?
In vino Veritas!
User avatar
mr. Hide
Уже с Приветом
Posts: 5530
Joined: 07 Sep 2005 07:38
Location: Bay area

Re: Как технарю из России стать программером в США за 150К

Post by mr. Hide »

RobinF wrote: В 2.3 наконец сделали JIT - только iOS приложения все равно то же самое делают в разы быстрее. И процессор может спокойно поспать.
Мне расскажите. Целый день в кроссплатформенном добре. Что там быстрее в разы?
под мостом :-p
User avatar
mr. Hide
Уже с Приветом
Posts: 5530
Joined: 07 Sep 2005 07:38
Location: Bay area

Re: Как технарю из России стать программером в США за 150К

Post by mr. Hide »

crypto5 wrote: Но это же не повод аргументировать гипотетические тормоза серверного кода проблемами мобил?
Да, ваш серверный performance зависит от куда большего количества факторов, чем Решето Эрастофена. 8)
под мостом :-p
nightmare2
Уже с Приветом
Posts: 7187
Joined: 31 Jan 2005 15:06
Location: GA

Re: Как технарю из России стать программером в США за 150К

Post by nightmare2 »

RobinF wrote:
nightmare2 wrote: Зато C# могут выучить все, а C++ только особо одаренные.
8O
:o

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

Понанимают таких - после чего кода становится в 10 раз больше чем нужно по цене 5x (потому что такие "программисты" делают кучу copy-and-paste и применяют кучу ненужных паттернов), с в 10 раз большим количеством багов и в 10 раз более дорогим сопровождением, не говоря уж про скорость и память...

С++ конечно так себе но... If anything, язык его заменяющий должен быть в 10 раз сложнее в освоении, чтоб тест на знание языка сразу отсеивал "программистов". С++ отсеивает только 80% таковых. ;)
Это все хорошо в идеальном мире в котором мы не живем.
Гарбич коллектор не от хорошей жизни придумали.
На одного одаренного программиста приходится 20 так себе, как в прочем и в других областях человеческой деятельности.
Необходим инструмент (пусть не самый эффективный) для создания приложений такой вот командой.
Vaiyo A-O, A Home Va Ya Ray, Vaiyo A-Rah, Jerhume Brunnen G!
User avatar
Abappy
Уже с Приветом
Posts: 2555
Joined: 26 Sep 2002 15:45
Location: North-East of NA

Re: Как технарю из России стать программером в США за 150К

Post by Abappy »

crypto5 wrote:Тут вот еще кстати какая проблема появлятеся, предположим есть два часа пособеседовать кандидата, в случае джавы за это время можно и про всякие многопоточности поговорить, и про базы данных, и про паттерны, и про веб дев, т.е. на выходе получается вполне готовый к улучшению мира человек, а в С++ чувствуется только дойдем до того почему вызов конструктора из конструктора плохая идея(согласно hogzie джуниорский вопрос).
хорошо Вам ... два часа ... да ещё и на кандидата на программерскую позицию ... мне бы так .

А конструктор из конструктора теоретически бывает и разумно вызывать (если второй конструктор принадлежит родителю)
ddv
Уже с Приветом
Posts: 481
Joined: 04 Jul 2005 17:07
Location: Москва->Staten Island NY

Re: Как технарю из России стать программером в США за 150К

Post by ddv »

Abappy wrote:А конструктор из конструктора теоретически бывает и разумно вызывать (если второй конструктор принадлежит родителю)
Там имеется ввиду когда свой же конструктор, но с другими параметрами вызывается внутри тела конструтора. В этом случае он вызывается для временной переменной и ни как не влияет на текущий экземпляр класса.
User avatar
Abappy
Уже с Приветом
Posts: 2555
Joined: 26 Sep 2002 15:45
Location: North-East of NA

Re: Как технарю из России стать программером в США за 150К

Post by Abappy »

ddv wrote:
Abappy wrote:А конструктор из конструктора теоретически бывает и разумно вызывать (если второй конструктор принадлежит родителю)
Там имеется ввиду когда свой же конструктор, но с другими параметрами вызывается внутри тела конструтора. В этом случае он вызывается для временной переменной и ни как не влияет на текущий экземпляр класса.
8O , а зачем ? (в смысле какое именно расположение звёзд может заставить держать нужную функциональность именно в конструкторе ? )
ddv
Уже с Приветом
Posts: 481
Joined: 04 Jul 2005 17:07
Location: Москва->Staten Island NY

Re: Как технарю из России стать программером в США за 150К

Post by ddv »

Abappy wrote: 8O , а зачем ? (в смысле какое именно расположение звёзд может заставить держать нужную функциональность именно в конструкторе ? )
Ну типа когда делаешь 2 конструктора с разными параметрами и хочешь только в одном инициализировать общие переменные. В С++ для этого можно использовать или параметры по умолчанию или сделать отдельную процедуру для инициализации общих переменных. А вот новичек может захотеть вызвать другой конструктор чтобы он проинициализировал сначала и не понять что таком вызове ничего не произойдет.
nightmare2
Уже с Приветом
Posts: 7187
Joined: 31 Jan 2005 15:06
Location: GA

Re: Как технарю из России стать программером в США за 150К

Post by nightmare2 »

ddv wrote:
Abappy wrote: 8O , а зачем ? (в смысле какое именно расположение звёзд может заставить держать нужную функциональность именно в конструкторе ? )
Ну типа когда делаешь 2 конструктора с разными параметрами и хочешь только в одном инициализировать общие переменные. В С++ для этого можно использовать или параметры по умолчанию или сделать отдельную процедуру для инициализации общих переменных. А вот новичек может захотеть вызвать другой конструктор чтобы он проинициализировал сначала и не понять что таком вызове ничего не произойдет.
На шарпе так можно сделать.

Code: Select all

	class Program
	{
		static void Main(string[] args)
		{
			Test t1 = new Test(10, 20); // ABC
			t1.Print();
			Console.WriteLine(); 

			Test t2 = new Test(10, 20, 30); // ABCD
			t2.Print();

			Console.Read();
		}
	}

	class Test
	{
		public int x, y;

		private Test()
		{
			Console.Write("A");
		}

		private Test(int x) : this()
		{
			this.x = x;
			Console.Write("B");
		}

		public Test(int x, int y) : this(x)
		{
			this.y = y;
			Console.Write("C");
		}

		public Test(int x, int y, int z) : this(x*z, y*z)
		{
			Console.Write("D");
		}

		public void Print()
		{
			Console.Write(": x={0}, y={1}", x, y);
		}
 	}
Кстати, непонимание базовых концепций ООП весьма часто встречается. :(
Vaiyo A-O, A Home Va Ya Ray, Vaiyo A-Rah, Jerhume Brunnen G!

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