Показать сообщение отдельно
Старый 18.09.2012, 13:51   #1
Черный крыс
 
Сообщений: n/a
Вся правда о Monkey

Привет.

Тут на днях начал изучать данное чудо програмисткой мысли, вобсчем впечатления остались такие, какие я и ожидал - поделка жуткая. Сам язык то по сути не плохой, а вот все остальное оставляет желать лучшего. Вообще у Марка замечена такая тенденция - с каждым продуктом все меньше возможностей в плане графики\звука и.т.д... и как итог юзер должен тратить свое время на допиливание движка. Ах да... насчет движка - говнокодец тот еще, в славных традициях Новозеландских программистов для примера возьмем такой фрагмент кода :

Function Rotate( angle# )
	Transform Cos(angle),-Sin(angle),Sin(angle),Cos(angle),0,0
End Function
Это просто пипец! Неужели Марку впадло было обьявить две локальные переменные ?! Неудивительно, что мартышка мягко говоря "нелетает" в HTML.

Function DrawImage( image:Image,x#,y#,frame=0 )
#If CONFIG="debug"
	DebugRenderDevice
#End
	Local f:Frame=image.frames[frame]

	If context.tformed
		PushMatrix
		
		Translate x-image.tx,y-image.ty

		ValidateMatrix

		If image.flags & Image.FullFrame
			context.device.DrawSurface image.surface,0,0
		Else
			context.device.DrawSurface2 image.surface,0,0,f.x,f.y,image.width,image.height
		Endif
		
		PopMatrix
	Else
		ValidateMatrix
		
		If image.flags & Image.FullFrame
			context.device.DrawSurface image.surface,x-image.tx,y-image.ty
		Else
			context.device.DrawSurface2 image.surface,x-image.tx,y-image.ty,f.x,f.y,image.width,image.height
		Endif
	Endif
End
Что за манипуляции с матрицами внутри функции непосредственной отрисовки??? Тоесть даже если я поставлю в аргументах нули - он всеравно преобразует матрицу, тоесть по сути функция выполнит бесполезный кусок кода.

И подобных моментов в мартышке - сплош и рядом.

По самому языку : Отсутствие дерективы "With". На дворе уже 21-й век... суть его заключается в том, что переменная обьявленная с этой дерективой помещается в регистр ЦП и соответственно при обращении к ней обеспечивается быстрый доступ.

ВЕРДИКТ - какашко, которому далеко даже до БМакса.

Но сама идея движка не плохая, только реализация хуйовая.
 
Ответить с цитированием