LINUX.ORG.RU

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

ЛОР - на Smalltalk: Seaside как фреймворк, Swazoo как сервер, GemStone как оопбд


И стоило бы такое решение как Boing 747

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

>> Bash - говно какбэ...

Варум? Работает иногда.


qbasic работает часто :)

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

> Просто не надо делать из профессии культ

Тогда программить будет тяжело и уныло. Лучше уж сразу в чиновники или в менеджмент.

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

ты программируешь за еду?

Ну не то, чтобы за еду, но и миллионов не делаю. Просто любая, даже самая интересная работа, спускаемая сверху, со временем убивает творческое начало и приносит только разочарование и усталость. Даже начинаю опасаться возможности получить контрактную лисповую работу...

Сейчас я сам себе демиург, что хочу, то и (не) делаю. Есть стабильная, сравнимо престижная работа в сравнимо престижной конторе, полностью не выжимает и оставляет время на кое-какое хобби. Финансовые ожидания, правда, пока толкают вперёд, но, думаю, ощущение рутины неизбежно появляется на любой работе. Поэтому и надо её раз в 3-5 лет менять :)

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

> что хочу, то и (не) делаю.

у меня тоже так - повезло, я и на работу не хожу, и задачи сам себе придумываю, но ведь не у всех так - вот у меня в «распоряжении» пару человек, я им не доверю писать, что попало :)

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

что хочу, то и (не) делаю.

у меня тоже так - повезло, я и на работу не хожу

Я про хобби, а не про основную работу =)

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

> А з/п кто вам платит? :)

начальник - кто же еще :) вначале он давал задания, а потом понял, что я сам прекрасно вижу, что надо делать - и просто посматривает время от времени на результаты, хотя конечно, время от времени подкидывает задачки - но не часто

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

>Нууу, Objective C всё же первее стал «превращением Си с ООП», нежели D.

Лет так на 10. И, да, с точки зрения рынка труда ObjectiveC - слон, а D - муха.

Но всё это не меняет того факта что его нужно поставить на полку с C++ и в данном списке не показывать.

Где я говорил, что она _плохая_?

Тоньше, ещё тоньше.

опять же для С - и то сомнительно, что людям, которым надо писать на С, подойдет Go, для С++ - это совсем не замена и не конкурент

Не спорю. Всё возможно. Покажет же практика :)

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

>>Лет так на 10. И, да, с точки зрения рынка труда ObjectiveC - слон, а D - муха.

Но всё это не меняет того факта что его нужно поставить на полку с C++

не соглашусь, ибо у ObjC объектная модель куда более приятная

и в данном списке не показывать.

Ну, это да

Где я говорил, что она _плохая_?

Тоньше, ещё тоньше.

Ниточка мышления, где ты, ау :)

yoghurt ★★★★★
()

Судя по набросу на ява кодеров, юзать С# — это как признаться в онанизме.

Ага.

Что взять с языка, который не поддерживает защищённое программирование (checked exceptions)?

А вот C++ — вообще мусорный язык, первоначально появился как макропроцессор над C, и до сих пор недалеко (#include) от этого ушёл.

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

это как штатный художник или поэт


Есть такие, при кинотеатрах, афиши рисуют

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

> я писал на C# во времена .Net 1.1, расово верным назвать не могу - язык многословный и невыразительный

Еще на этом языке легко набыдлокодить, поскольку он поощряет это, как и джава.

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

> На питоне только быдло пишет скрипты.

Ололо, ЛОРовский анонимус негодуэ.

ebantrop
() автор топика

я люблю Руби.

готов принять на себя удар толпы.

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

Ну ап том и речь. В примере по ссылке ежели объявить std::vector<Foo*> v все будет кошерно. Только проблема что в плюсах new медленный. Конечно, его можно переопредилить для Foo сделав побыстрее.

ebantrop
() автор топика
Ответ на: комментарий от qnikst

> в то время, как для java,c-решётка и т.п. в принципе не дадут так налажать ^_^

но при этом не надо забывать, что даже так С++ быстрее чем java :)

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

Только проблема что в плюсах new медленный

for( size_t i = 0 ; i < 1000000 ; ++i ) 
{ 
   int* p = new int[ 1000 ]; 
   delete[] p; 
} 

2.978сек

миллион выделений и удалений по 1000 байт за три секунды - не так уж и плохо

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

а я спорю? =)

коментарий был в ответ на то, что в яве проще набыдлокодить. Да набыдлокодить можно, но на более высоком уровне, а в сях можно и на низком и на высоком :).

qnikst ★★★★★
()
Ответ на: комментарий от lester
qnikst@qnikst%>> time java Test                                                 
java Test  2.75s user 0.27s system 89% cpu 3.368 total

а заставить C не оптимизировать код (0.09с) у меня не получилось

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

>2.75s

это плохой тест для явы. Заряди задачку на час (примерно), тогда сравнение с нативными языками будет объективнее

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

> миллион выделений и удалений по 1000 байт за три секунды - не так уж и плохо

Это только выделение/удаление, то есть просто оверхед на new/delete. В шарпе время исполнения кода зависит от длины массива, ибо он нулями его заполняет.

Если в цикле сделать выделение int[] p = new int[10]; и сохранить референс на память в список, то миллион выделений займет 0.1 секунды, что есть профит в 30 раз.

ebantrop
() автор топика
Ответ на: комментарий от qnikst

> а заставить C не оптимизировать код (0.09с) у меня не получилось

хм, этот же код на С++ собранный в mingw - 0.103сек, M$ тут облажалась

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

> Это только выделение/удаление, то есть просто оверхед на new/delete

нет, если сделать new int[1], то время работы - 0.9 сек

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

> нет, если сделать new int[1], то время работы - 0.9 сек

Ну один хрен в 10 раз медленее. Исчо хороший ворос оптимизация, по хорошему оптимизатор сий код должен выпилить несчадно за ненужностью.

ebantrop
() автор топика
Ответ на: комментарий от qnikst

> а заставить C не оптимизировать код (0.09с) у меня не получилось

у меня еще быстрее для malloc/free - и это судя по всему не оптимизация, а действительно так быстро отрабатывает

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

> в с++0x какбе тоже инициализация переменных предусмотрена

Мож и предусмотрена, здесь вопрос про расходы на new. Сам стандарт не смотрел, но то что пишут в перивики выглядит страшновато.

ebantrop
() автор топика
Ответ на: комментарий от lester

Лучше не предполагать, лучше проверять: :)

(gdb) info line main
Line 3 of "1.c" starts at address 0x40068c <main> and ends at 0x400694 <main+8>.
(gdb) disas 0x40068c 0x400694
Dump of assembler code from 0x40068c to 0x400694:
0x000000000040068c <main+0>:	push   %rbp
0x000000000040068d <main+1>:	mov    %rsp,%rbp
0x0000000000400690 <main+4>:	sub    $0x10,%rsp
End of assembler dump.

не выделяет.

qnikst ★★★★★
()
Ответ на: комментарий от qnikst
	.file	"1.c"
	.def	___main;	.scl	2;	.type	32;	.endef
	.section .rdata,"dr"
LC0:
	.ascii "%f\12\0"
	.text
	.p2align 2,,3
.globl _main
	.def	_main;	.scl	2;	.type	32;	.endef
_main:
	pushl	%ebp
	movl	%esp, %ebp
	andl	$-16, %esp
	pushl	%esi
	pushl	%ebx
	subl	$40, %esp
	call	___main
	call	_clock
	movl	%eax, %esi
	xorl	%ebx, %ebx
	.p2align 2,,3
L2:
	movl	$1000, (%esp)
	call	_malloc
	movl	%eax, (%esp)
	call	_free
	incl	%ebx
	cmpl	$1000000, %ebx
	jne	L2
	call	_clock
	subl	%esi, %eax
	movl	%eax, 28(%esp)
	fildl	28(%esp)
	fstpl	4(%esp)
	movl	$LC0, (%esp)
	call	_printf
	movl	__imp___iob, %eax
	movl	4(%eax), %edx
	decl	%edx
	movl	%edx, 4(%eax)
	testl	%edx, %edx
	js	L3
	incl	(%eax)
	xorl	%eax, %eax
	addl	$40, %esp
	popl	%ebx
	popl	%esi
	leave
	ret
L3:
	movl	%eax, (%esp)
	call	__filbuf
	xorl	%eax, %eax
	addl	$40, %esp
	popl	%ebx
	popl	%esi
	leave
	ret
	.def	_malloc;	.scl	2;	.type	32;	.endef
	.def	_free;	.scl	2;	.type	32;	.endef
	.def	_clock;	.scl	2;	.type	32;	.endef
	.def	_printf;	.scl	2;	.type	32;	.endef
	.def	__filbuf;	.scl	2;	.type	32;	.endef 

работает за 0.078сек и выделяет :)

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

> работает за 0.078сек и выделяет :)

а ежели malloc/free разнести по разным циклам? В первом малочить, во втором зафриить?

ebantrop
() автор топика
Ответ на: комментарий от qnikst

если объяснишь, где именно там выделение, скажу спасибо.

хотя:

	movl	$4000, %edi
	addq	$1, %rbx
	call	_Znam
	movq	%rax, %rdi
	call	_ZdlPv
	cmpq	$1000000, %rbx

вот оно и есть

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

Две с лишним секунды... А вы чего тут меряете? Время запуска JVM?

А тема мудацкая, как и сам посыл. Для своих задач C# - отличный язык. А если не раскрывает полностью потенциал своей платформы, то всегда можно взять идеологически более правильный F# ;) Вот, лицензия и зависимость от винды портят несколько дело, но это уже другой вопрос.

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

>Для своих задач C# - отличный язык. А если не раскрывает полностью потенциал своей платформы, то всегда можно взять идеологически более правильный F# ;)

Для своих задач С++ - отличный язык.А если не раскрывает полностью свой потенциал, то всегда можно взять идеологически неправильные C#, Java, etc.

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

> Для своих задач С++ - отличный язык.А если не раскрывает полностью свой потенциал, то всегда можно взять идеологически неправильные C#, Java, etc.

Полностью согласен :)

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