IPB

Здравствуйте, гость ( Вход | Регистрация )

4 страниц V  < 1 2 3 4 >  
Reply to this topicStart new topic
> C#, И прочий .NET
Guevara-chan
сообщение 04 May 2012, 10:23 (Сообщение отредактировал Guevara-chan - 04 May 2012, 11:22)
Сообщение #41

•●Revolucionario●•
Сообщений: 2 467
Спасибо сказали: 5934 раза




Смотря какое. Смотря какому. Многие алгоритмы, и я говорю не только о практике использования ассемблерных вставок, вообще не переносимы до такой степени, чтобы всерьез сравнивать... Но скорее всего будет, хотя слова "разы" я точно не писала.


--------------------
life MOV.I #life+1, *life
האם יש זמן לעצור ?
Go to the top of the pageAdd Nick
 
+Quote Post
Gingerk
сообщение 04 May 2012, 13:54
Сообщение #42

Power Member
Сообщений: 175
Спасибо сказали: 6 раз




Цитата(Guevara-chan @ 04 May 2012, 12:23) *
Смотря какое. Смотря какому. Многие алгоритмы, и я говорю не только о практике использования ассемблерных вставок, вообще не переносимы до такой степени, чтобы всерьез сравнивать... Но скорее всего будет, хотя слова "разы" я точно не писала.


Тред замечу, от 2006 года
сейчас 2012

У тебя распостранённая ошибка ненавистников management code.
Берем задачу с решением оптимизированным на unmanaged, переносим его в management
Получаем бред и тормоза - радостно носимся с мантрой management code is shit



--------------------


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
Guevara-chan
сообщение 04 May 2012, 14:39 (Сообщение отредактировал Guevara-chan - 04 May 2012, 15:53)
Сообщение #43

•●Revolucionario●•
Сообщений: 2 467
Спасибо сказали: 5934 раза




Да там задачи-то, по сути, никакой нет. Тупо разногласия в рассмотрении байт. Даже специально сейчас протестировала гипотетический аналог на PB:

Код
EnableExplicit; Essential.
#WordCap = 2; We need 2 words (4 bytes).

Structure DoubleVision
StructureUnion; 2 merged arrays (byte & word one).
Array wArr.u(#WordCap-1); Desired array, aligned there.
Array bArr.a(0); Base array, bounds doesn't matter.
EndStructureUnion; They are shared, however...
EndStructure

Macro PP(TypeName, Num, Val, TypeConst); Sugar.
Debug TypeName + Str(Num+1) + ": " + Hex(Val, TypeConst)
EndMacro

Procedure FillUp(Array Arr.a(1)); Получатель байт.
Define I, Val.a, Tofix = (ArraySize(Arr())+1)*SizeOf(Word)-1; Подготовка, переcчет границ.
For I = 0 To ToFix : Val = Random(255) : DisableDebugger; Подавляем отладчик, здесь он не прав.
Arr(I) = Val : EnableDebugger : PP("Byte", I, Val, #PB_Byte) : Next; Выдаем данные и записываем.
EndProcedure

Procedure Test(Array Arr.u(1)); Получатель слов.
Debug "-----------------------------"; Разделитель.
Define I, Tofix = ArraySize(Arr()); Получаем размер массива...
For I = 0 To ToFix : PP("Word", I, Arr(I), #PB_Word) : Next; Вывод.
EndProcedure

Define I, ToFix, DWArray.DoubleVision : With DWArray; Подготовка.
FillUP(\bArr()) : Test(\wArr()) : EndWith; Тестирование.

...Вот чуть избыточно получилось, т.к. я описала как генератор, так и получатель. Помимо того задачи нет, есть единственная проблема с shared-границей.

P.S. Еще оно "managed" а не "management". Но это так, к слову.


--------------------
life MOV.I #life+1, *life
האם יש זמן לעצור ?
Go to the top of the pageAdd Nick
 
+Quote Post
gamecreator
сообщение 04 May 2012, 15:48
Сообщение #44

Яблочный произвол!
Сообщений: 11 080
Спасибо сказали: 3988 раз




Цитата(Guevara-chan @ 04 May 2012, 14:39) *
Даже специально сейчас протестировала гипотетический аналог в PB
не нашел собственно того самого перевода из байт в слова. или тестировался только порядок байт?
Цитата(Guevara-chan @ 04 May 2012, 14:39) *
я описала как приемник, так и получатель.
источник smile.gif
Go to the top of the pageAdd Nick
 
+Quote Post
Guevara-chan
сообщение 04 May 2012, 15:55 (Сообщение отредактировал Guevara-chan - 04 May 2012, 15:59)
Сообщение #45

•●Revolucionario●•
Сообщений: 2 467
Спасибо сказали: 5934 раза




Цитата
не нашел собственно того самого перевода из байт в слова. или тестировался только порядок байт?

А его там и быть не должно. Я просто разметила 2 разнотипных массива (Byte/Word) на одном участке памяти. Это же все равно абстракция.
...Ведь нету на самом деле никаких таблиц, связанных списков и чисел с плавающей точкой: только наборы байт и способы их обработки.

Цитата
источник

Fixed.


--------------------
life MOV.I #life+1, *life
האם יש זמן לעצור ?
Go to the top of the pageAdd Nick
 
+Quote Post
gamecreator
сообщение 04 May 2012, 16:21
Сообщение #46

Яблочный произвол!
Сообщений: 11 080
Спасибо сказали: 3988 раз




ой, не заметил. это ваше StructureUnion сбивает с толку.
так какой результат?
Go to the top of the pageAdd Nick
 
+Quote Post
Guevara-chan
сообщение 04 May 2012, 16:40 (Сообщение отредактировал Guevara-chan - 04 May 2012, 16:47)
Сообщение #47

•●Revolucionario●•
Сообщений: 2 467
Спасибо сказали: 5934 раза




Более чем удовлетворительный, как по мне (извиняюсь за сбитые комментарии, копировала из сообщения):



...А вот CLR такого сделать не даст чисто физически. Управляемость, видите ли.


--------------------
life MOV.I #life+1, *life
האם יש זמן לעצור ?
Go to the top of the pageAdd Nick
 
+Quote Post
IvanSav
сообщение 04 May 2012, 16:46
Сообщение #48

VCMI developer
Сообщений: 377
Спасибо сказали: 690 раз




Цитата(Guevara-chan @ 04 May 2012, 10:23) *
Смотря какое. Смотря какому. Многие алгоритмы

Это скорее идет от "Очень объекто-ориентированного программирования" чем от managed\unmanaged. Все запихивают за 3-4 уровнями интерфейсов да абстракных классов, а кто начнет выяснять как оно внутрях устроено - секрет, тайна, расстрел за нарушение ООПшной инкапсуляции.
Так и тут - а вы уверены что из двух Int8 получится Int16? А вы уверены что порядок байт в слове правильный? И толку потом от этой compile-time проверки типов если почти везде идет принудительное преобразование одного во второй, а все баги отлавливать приходится при запуске.

Жава тут соригинальничала еще круче - там Integer и int это абсолютно разные вещи, которые и вести себя могут каждый по своему.


--------------------
Слава Україні!


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
Gingerk
сообщение 05 May 2012, 00:32
Сообщение #49

Power Member
Сообщений: 175
Спасибо сказали: 6 раз




P.S. Еще оно "managed" а не "management". Но это так, к слову.
[/quote]

Ай блин, верно да ))
описался.


--------------------
Go to the top of the pageAdd Nick
 
+Quote Post
Шалвенд
сообщение 06 May 2012, 16:08
Сообщение #50

Элементалист
Сообщений: 877
Спасибо сказали: 438 раз




Цитата(feanor @ 30 Apr 2012, 10:54) *
Использует кто?

В данный момент - активно его учу. Ну как бы активно.
Go to the top of the pageAdd Nick
 
+Quote Post
Undead
сообщение 29 Apr 2018, 19:33 (Сообщение отредактировал Undead - 29 Apr 2018, 19:34)
Сообщение #51

Ёж
Сообщений: 662
Спасибо сказали: 881 раз




Бамп.
В 18-м как с шарпом обстоит? Я, как 1Сник несчастный, фактически знаю его синтаксис (в 1С он аналогичен), но не практиковался. То есть, я даже не знаю, а как и где на нём кодить.
Стоит вообще начинать, или лучше сразу плюсы?


--------------------
Go to the top of the pageAdd Nick
 
+Quote Post
t800
сообщение 29 Apr 2018, 21:47 (Сообщение отредактировал t800 - 29 Apr 2018, 22:00)
Сообщение #52

Разработчик
Сообщений: 534
Спасибо сказали: 221 раз




Цитата(Undead @ 29 Apr 2018, 22:33) *
Бамп.
В 18-м как с шарпом обстоит? Я, как 1Сник несчастный, фактически знаю его синтаксис (в 1С он аналогичен), но не практиковался. То есть, я даже не знаю, а как и где на нём кодить.
Стоит вообще начинать, или лучше сразу плюсы?


Если с точки зрения Работы в GameDev то

C# - это Unity
C++ - Unreal Engine

Unreal Engine для начинающих сложней соответственно мелких проектов на нем делают меньшие и работу на UE Вы найдете скорей всего только в Офисе, если хотите работать на удаленке ИМХО лучше скрипты да ассеты на C# для Unity клепать. Вот так вот.



--------------------
Go to the top of the pageAdd Nick
 
+Quote Post
feanor
сообщение 03 May 2018, 08:55 (Сообщение отредактировал feanor - 03 May 2018, 08:59)
Сообщение #53

laughed as one fey
Сообщений: 12 166
Спасибо сказали: 20581 раз




забавно читать тред 2012 года

Цитата
Я, как 1Сник несчастный, фактически знаю его синтаксис (в 1С он аналогичен)

лол

Цитата
Стоит вообще начинать, или лучше сразу плюсы?

Вообще-то их ниши вполне себе разошлись.
Go to the top of the pageAdd Nick
 
+Quote Post
sergroj
сообщение 06 May 2018, 20:14
Сообщение #54

В миру GrayFace
Сообщений: 2 528
Спасибо сказали: 816 раз




Цитата(Undead @ 29 Apr 2018, 21:33) *
В 18-м как с шарпом обстоит?
Стоит вообще начинать, или лучше сразу плюсы?

Зависит от области, в которой хочешь работать и от того, насколько тебе по душе будет такой отсталый язык, как c++.


--------------------
ДНК банана на 50% состоит из человека.
Go to the top of the pageAdd Nick
 
+Quote Post
Undead
сообщение 17 May 2018, 01:13
Сообщение #55

Ёж
Сообщений: 662
Спасибо сказали: 881 раз




Цитата(sergroj @ 06 May 2018, 20:14) *
Цитата(Undead @ 29 Apr 2018, 21:33) *
В 18-м как с шарпом обстоит?
Стоит вообще начинать, или лучше сразу плюсы?

Зависит от области, в которой хочешь работать и от того, насколько тебе по душе будет такой отсталый язык, как c++.

Я хочу быть более-менее универсальным. Вообще моя цель близка к геймдеву, разработке своего софта и в далёкой перспективе - к своему движку. У меня не хватит времени на всё, что интересно, поэтому думаю выбирать из Java, C++ и C#.
Критерии - хорошая оптимизация, поддержка ассемблера, потенциально возможная мультиплатформенность. Но есть ещё один критерий - хватит ли у меня сил на освоение.


--------------------
Go to the top of the pageAdd Nick
 
+Quote Post
t800
сообщение 17 May 2018, 09:38 (Сообщение отредактировал t800 - 17 May 2018, 09:40)
Сообщение #56

Разработчик
Сообщений: 534
Спасибо сказали: 221 раз




Цитата(Undead @ 17 May 2018, 04:13) *
Цитата(sergroj @ 06 May 2018, 20:14) *
Цитата(Undead @ 29 Apr 2018, 21:33) *
В 18-м как с шарпом обстоит?
Стоит вообще начинать, или лучше сразу плюсы?

Зависит от области, в которой хочешь работать и от того, насколько тебе по душе будет такой отсталый язык, как c++.

Я хочу быть более-менее универсальным. Вообще моя цель близка к геймдеву, разработке своего софта и в далёкой перспективе - к своему движку. У меня не хватит времени на всё, что интересно, поэтому думаю выбирать из Java, C++ и C#.
Критерии - хорошая оптимизация, поддержка ассемблера, потенциально возможная мультиплатформенность. Но есть ещё один критерий - хватит ли у меня сил на освоение.


C# - это реально только винда.
Java - это никакого ASM

Соответственно, если Вы действительно планируете писать свой движок, то изучайте С++



--------------------
Go to the top of the pageAdd Nick
 
+Quote Post
Undead
сообщение 17 May 2018, 11:28
Сообщение #57

Ёж
Сообщений: 662
Спасибо сказали: 881 раз




Вероятно, придётся кодить на всех трёх на уровне джуниора, чтобы потом сделать выбор.


--------------------
Go to the top of the pageAdd Nick
 
+Quote Post
stoned_golem
сообщение 18 May 2018, 00:10
Сообщение #58

Member
Сообщений: 99
Спасибо сказали: 82 раза




Цитата(Undead @ 17 May 2018, 01:13) *
Цитата(sergroj @ 06 May 2018, 20:14) *
Цитата(Undead @ 29 Apr 2018, 21:33) *
В 18-м как с шарпом обстоит?
Стоит вообще начинать, или лучше сразу плюсы?

Зависит от области, в которой хочешь работать и от того, насколько тебе по душе будет такой отсталый язык, как c++.

Я хочу быть более-менее универсальным. Вообще моя цель близка к геймдеву, разработке своего софта и в далёкой перспективе - к своему движку. У меня не хватит времени на всё, что интересно, поэтому думаю выбирать из Java, C++ и C#.
Критерии - хорошая оптимизация, поддержка ассемблера, потенциально возможная мультиплатформенность. Но есть ещё один критерий - хватит ли у меня сил на освоение.


C++ не советовал бы. Сложно, сомнительная ситуация на рынке.

Java уж больно квадратично-гнездовая, скукота. Но платят норм.

C# поможет найти работу не в геймдеве, если не сложится. Ассемблер юзнуть не проблема - https://www.codeproject.com/Articles/1392/U...-assembler-in-C

(Я вообще на пыхе пишу, это лишь личное мнение smile.gif )
Go to the top of the pageAdd Nick
 
+Quote Post
feanor
сообщение 18 May 2018, 13:24
Сообщение #59

laughed as one fey
Сообщений: 12 166
Спасибо сказали: 20581 раз




Цитата
Я хочу быть более-менее универсальным. Вообще моя цель близка к геймдеву, разработке своего софта и в далёкой перспективе - к своему движку. У меня не хватит времени на всё, что интересно, поэтому думаю выбирать из Java, C++ и C#.
Критерии - хорошая оптимизация, поддержка ассемблера, потенциально возможная мультиплатформенность. Но есть ещё один критерий - хватит ли у меня сил на освоение.




Если гейдев, то плюсы, так-то, но это "большой" гейдев, который реже белого слона. В тайге.
Реальность гейдева, кажца, это веселые фермы, клоноаркады и "три в ряд" на андроидоайфон.

Хорошая оптимизация как функционал языка - какая-то школьничья дичь. Нормально делай, нормально будет.
Ну, шарп и ява - байткод и сборщик мусора, а плюсы - нативные, с этим различием ничего не сделаешь, но в большинстве прикладных задач если ты уперся в производительность JVM/CLR, ты, скорее всего, сделал что-то не так.

С мультиплатформенностью сомнительное первое место берет джава, наверн (одинаково мерзко работает на всех платформах, зато без перекомпиляции), потом плюсы, потом шарп (у него получше, чем пять лет назад, но все равно не восторг. Хотя игрушки на OpenTK сожрет, вроде, и моно, и ксамарин)

Ассемблер? В 2018 году и, более того, на перспективу? Как аргумент? Серьезно?

Цитата
Ассемблер юзнуть не проблема - https://www.codeproject.com/Articles/1392/U...-assembler-in-C

чисто прагматически - проблема, по крайней мере, по сравнению с плюсами с их declspec(naked) и инлайновыми асмовыми вставками.
просто потому что накладные расходы на переход к неуправляемому коду/маршаллинг данных великоваты, приходится выносить код в внешние либы сразу крупными кусками, и значит, все равно надо учить хотя бы ту же сишечку (хотя сишечку учить надо все равно, сишечка делает человеком).

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


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
stoned_golem
сообщение 18 May 2018, 20:47
Сообщение #60

Member
Сообщений: 99
Спасибо сказали: 82 раза




Цитата(feanor @ 18 May 2018, 13:24) *
с другой стороны, использование ассемблера - это прям вообще пример пресловутой преждевременной оптимизации


Верно. И кроссплатформенности лишаемся.
Go to the top of the pageAdd Nick
 
+Quote Post

4 страниц V  < 1 2 3 4 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 29 March 2024 - 01:16
Copyright by Алексей Крючков
Strategy Gamez by GrayMage
Programming by Degtyarev Dmitry
  Яндекс.Метрика