Среда, 24 Апреля 2024, 02:53

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 3 из 5
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • »
Форум игроделов » Программирование » Общие обсуждения программистов » Хочу выучить ЯП (Для начального программирования)
Хочу выучить ЯП
masb8ly-GCДата: Понедельник, 23 Января 2012, 00:05 | Сообщение # 41
постоянный участник
Сейчас нет на сайте
Quote (mrResident)
Хочешь сказать что в школе стоит изучать сразу asm?

А почему бы и нет? Если есть способности к программированию и желание, то можно и выучить! Когда учишь АСМ ломаются все стереотипы и правила о программировании, структура кода и его построение координально отличаются! Поетому я считаю стоит сначала выучить, что-то легкое для того, чтобы выучить основы алгоритмизации, потом выучить АСМ и уже потом хвататся за плюсы, которые сочитают в себе черты и высокоуровнего программирования и низкоуровневого!


Backend Developer ESIS
Client Side Developer Room8Studio
Technical Leader Lucid Reality Labs
Chief Technology Officer The Intruders
Chief Technology Officer RoyalePlay Games
mrResidentДата: Понедельник, 23 Января 2012, 00:33 | Сообщение # 42
постоянный участник
Сейчас нет на сайте
masb8ly-GC, все что тобой было сказано выше это конечно очень хорошо, но на практике получается совсем другое. Ты то сам как, пробовал на asm что-нибудь написать работающее? Ассемблер в первую очередь это знание аппаратных средств, будь то микропроцессор или микроконтроллер. И еще, народ, не путайте с и с++ это довольно разные ЯП, отличие заключается в подходе программирования, с - это язык процедурного программирование, вот он как раз является нечто средне между ассемблером и ОЯП (объектный язык программирование), а вот с++ - это чистейшей воды ОЯП. Проще говоря на С хорошо писать драйвера, да и вообще все что необходимо для доступа к аппаратным средствам ПК, а вот на С++ пишется все остальное. В общем читайте Бьерн Страуструп, Герберта Шилдта а так же отцов-основателей с/с++ Керниган и Ричи.
Для всех интересующих могу дать ссылку для моей подборки доков по различным ЯП, писать в ЛС.


Укроп головного мозга - болезнь тяжелая, но излечимая!

Сообщение отредактировал mrResident - Понедельник, 23 Января 2012, 08:09
masb8ly-GCДата: Понедельник, 23 Января 2012, 01:25 | Сообщение # 43
постоянный участник
Сейчас нет на сайте
Пробовать я пробовал и получалось, не ОС конечно, но все же небольшие програмки. Да ошибся плюсы и си перепутал, но они и похожи очень. Зная Си перейти на плюсы дело пары дней...

Backend Developer ESIS
Client Side Developer Room8Studio
Technical Leader Lucid Reality Labs
Chief Technology Officer The Intruders
Chief Technology Officer RoyalePlay Games
mrResidentДата: Понедельник, 23 Января 2012, 08:07 | Сообщение # 44
постоянный участник
Сейчас нет на сайте
Quote (masb8ly-GC)
Зная Си перейти на плюсы дело пары дней

Это да, синтаксис одинаковый, подход к программированию разный.


Укроп головного мозга - болезнь тяжелая, но излечимая!
masb8ly-GCДата: Понедельник, 23 Января 2012, 16:51 | Сообщение # 45
постоянный участник
Сейчас нет на сайте
Quote (mrResident)
Это да, синтаксис одинаковый, подход к программированию разный.

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


Backend Developer ESIS
Client Side Developer Room8Studio
Technical Leader Lucid Reality Labs
Chief Technology Officer The Intruders
Chief Technology Officer RoyalePlay Games
StageДата: Понедельник, 23 Января 2012, 17:27 | Сообщение # 46
постоянный участник
Сейчас нет на сайте
Quote
Когда учишь АСМ ломаются все стереотипы и правила о программировании, структура кода и его построение координально отличаются!

Полная ерунда. И сишечка, и паскаль и уж тем более ассемблер - типичные представители императивного подхода.
Разница между
Code

a = 3;
mov a, 3

конечно очень велика, ломает стереотипы лол. Ты на ассемблере то писал что-нибудь сложней хелоуворлда, м? Все велосипеды уже есть в виде макросов в том же масме.
Quote
Проще говоря на С хорошо писать драйвера

Ну и что мне мешает писать драйвера на С++ ? Более того, есть же ядерные фреймворки. Уж там то точно все заворачивают в классы, а не лепят тысячи процедур на все случаи.
masb8ly-GCДата: Понедельник, 23 Января 2012, 17:44 | Сообщение # 47
постоянный участник
Сейчас нет на сайте
Quote (Stage)
Полная ерунда. И сишечка, и паскаль и уж тем более ассемблер - типичные представители императивного подхода.

Разница между высокоуровневым программированием и низкоуровневым велика! И принципы программирования на них отличаются. Спорить не буду и не хочу!


Backend Developer ESIS
Client Side Developer Room8Studio
Technical Leader Lucid Reality Labs
Chief Technology Officer The Intruders
Chief Technology Officer RoyalePlay Games
StageДата: Понедельник, 23 Января 2012, 17:47 | Сообщение # 48
постоянный участник
Сейчас нет на сайте
Quote
Разница между высокоуровневым программированием и низкоуровневым велика! И принципы программирования на них отличаются.

А теперь приведи пример, который покажет существенные отличия в подходах между сишкой/паскалем и ассемблером.


Сообщение отредактировал Stage - Понедельник, 23 Января 2012, 17:48
masb8ly-GCДата: Понедельник, 23 Января 2012, 17:52 | Сообщение # 49
постоянный участник
Сейчас нет на сайте
Quote (masb8ly-GC)
Спорить не буду и не хочу!

Вам эта фраза не говорит о том, что я не намерен дальше продолжать разговор по этому поводу?


Backend Developer ESIS
Client Side Developer Room8Studio
Technical Leader Lucid Reality Labs
Chief Technology Officer The Intruders
Chief Technology Officer RoyalePlay Games


Сообщение отредактировал masb8ly-GC - Понедельник, 23 Января 2012, 17:53
StageДата: Понедельник, 23 Января 2012, 17:54 | Сообщение # 50
постоянный участник
Сейчас нет на сайте
Quote
Вам эта фраза не говорит о том, что я не намер дальше продолжать разговор по этому поводу?

Ты слился как классический gcup-искперт, можешь дальше травить свои басни одноклассникам.
masb8ly-GCДата: Понедельник, 23 Января 2012, 18:07 | Сообщение # 51
постоянный участник
Сейчас нет на сайте
Нет, просто я выше того чтобы спорить! Я говорю только со своей точки зрения и ничего больше! С точки зрения начинающего программиста, который немного знаком с этими языками!

Добавлено (23.01.2012, 18:07)
---------------------------------------------
И кстати хочу заметить, что я не говорил, что я эксперт и много знаю... Я говорил только по мере своих знаний!


Backend Developer ESIS
Client Side Developer Room8Studio
Technical Leader Lucid Reality Labs
Chief Technology Officer The Intruders
Chief Technology Officer RoyalePlay Games
SWFcreatorДата: Понедельник, 23 Января 2012, 18:31 | Сообщение # 52
участник
Сейчас нет на сайте
Quote (masb8ly-GC)
А почему бы и нет?

А зачем? По-моему, даже Паскаль, преподаваемый в некоторых школах, лишний. Я вот в 9 классе в фотошопе кисточкой ляпал и не чувствовал себя обделенным. Это предмет строго по специальности. Нечего всем мозги парить, кому интересно, пусть читает книжки или ходит на курсы.
Quote (masb8ly-GC)
Зная Си перейти на плюсы дело пары дней...

Два дня назад одногруппник рассказывал мне, что он разобрал циклы в Паскале. Сразу говорю, с Паскалем я знаком лишь на уровне объявления переменных на парах, дома для себя учу С++. Рассказывал, что есть такой цикл until и в нем есть переменная, и она прибавляется. Я ничего не понял и спросил гугл. По первому же запросу стало понятно, что это аналог do-while на Си. Вот так вот разобрал, что не смог даже сути объяснить. Примерно так же можно перейти на С++ за пару дней, не лучше.
TimKruzДата: Понедельник, 23 Января 2012, 18:42 | Сообщение # 53
старожил
Сейчас нет на сайте
Quote (Andrey_M)
А можно ли на паскале сделать игру, простите за нубство? Хотя бы в окне консоли...

Да легко. Очень простую - за несколько минут на TurboPascal/FreePascal. В текстовом/графическом режиме... Можно и хорошую игру сделать, но выглядеть будет очень старо, в "стиле DOS"...
Quote (Stage)
А теперь приведи пример, который покажет существенные отличия в подходах между сишкой/паскалем и ассемблером.

На ассемблере можно перезаписывать код программы прямо в оперативной памяти, делать разные трюки, которые в паскале/си проблематичны, если возможны. В паскале/си можно вставлять код на ассемблере. Да и вообще, обычно паскаль/си не заставляет во время написания программы думать о том, о чём заставляет думать ассемблер, т.е. автоматизирует, упрощает или делает бессмысленными эти вещи (распределение памяти под программу, скорость алгоритмов, выравнивание стека, ну и так далее). Например, команда на паскале write('blabla') выглядит простой и понятной, в то время как на ассемблере нужно знать, где и как хранить эту строку, как правильно вызывать, не забыть поставить закрывающий символ, потом выполнить определённое прерывание MS-DOS (ещё и код запомнить надо) либо написать кучу кода, используя исключительно прерывания BIOS.


masb8ly-GCДата: Понедельник, 23 Января 2012, 19:03 | Сообщение # 54
постоянный участник
Сейчас нет на сайте
Quote (SWFcreator)
Рассказывал, что есть такой цикл until и в нем есть переменная, и она прибавляется. Я ничего не понял и спросил гугл. По первому же запросу стало понятно, что это аналог do-while на Си. Вот так вот разобрал, что не смог даже сути объяснить. Примерно так же можно перейти на С++ за пару дней, не лучше.

Ну помоему и по названию ясно, что эти цикл одинаковы... until = до тех пор пока, do while = делать, пока...


Backend Developer ESIS
Client Side Developer Room8Studio
Technical Leader Lucid Reality Labs
Chief Technology Officer The Intruders
Chief Technology Officer RoyalePlay Games
SWFcreatorДата: Понедельник, 23 Января 2012, 19:19 | Сообщение # 55
участник
Сейчас нет на сайте
Quote (masb8ly-GC)
Ну помоему и по названию ясно, что эти цикл одинаковы... until = до тех пор пока, do while = делать, пока...

Я этого слова не знаю. И он сразу начал рассказывать мне о какой то переменной в цикле, после чего у меня пошли ассоциации с for. Но я рассказал это для того чтобы показать, что значит разобрать за день. Для того чтобы говорить "я разобрал", нужно хотя бы уметь сформулировать, что ты разобрал smile .


Сообщение отредактировал SWFcreator - Понедельник, 23 Января 2012, 19:23
StageДата: Понедельник, 23 Января 2012, 20:37 | Сообщение # 56
постоянный участник
Сейчас нет на сайте
Ну наконец-то TimKruz пожаловал. Гвоздь программы.
Quote
На ассемблере можно перезаписывать код программы прямо в оперативной памяти, делать разные трюки, которые в паскале/си проблематичны, если возможны.

Перезаписать код программы я могу и на сишке, какую роль здесь играет язык? Что за хитрые трюки можно делать на ассемблере, что их нельзя осуществить на том же С. Давай примеры кода, а то вода пока что.

Quote
Да и вообще, обычно паскаль/си не заставляет во время написания программы думать о том, о чём заставляет думать ассемблер, т.е. автоматизирует, упрощает или делает бессмысленными эти вещи

Ключевое слово в моем посте подход. Речь шла об императивной парадигме. Все что мы делаем - это так или иначе манипулируем байтами. Всякие там := можно расценивать как обычный синтаксический сахар.

Quote
Например, команда на паскале write('blabla') выглядит простой и понятной, в то время как на ассемблере нужно знать, где и как хранить эту строку, как правильно вызывать, не забыть поставить закрывающий символ, потом выполнить определённое прерывание MS-DOS (ещё и код запомнить надо) либо написать кучу кода, используя исключительно прерывания BIOS.

Ну вот это прям жирнейший перебор. Твое знакомство с ассемблером застряло где-то на уровне 90х. MS-DOS, BIOS прерывания biggrin Ах да, хранить строку. Вот тебе современный пример на фасме.
Code

include 'win32ax.inc'

.code

   start:
         invoke  MessageBox,HWND_DESKTOP,"Hi! I'm the example program!","Win32 Assembly",MB_OK
         invoke  ExitProcess,0

.end start

invoke - макрос, который кладет аргументы на стек и делает call.
Andrey_MДата: Понедельник, 23 Января 2012, 21:07 | Сообщение # 57
старожил
Сейчас нет на сайте
Quote (TimKruz)

Да легко. Очень простую - за несколько минут на TurboPascal/FreePascal. В текстовом/графическом режиме... Можно и хорошую игру сделать, но выглядеть будет очень старо, в "стиле DOS"...

А рпг можно сделать?
И вообще...
Пока я не глубоко изучать начал, скажите: что проще и полезнее
Паскаль или си ++


ЪЪЪЪ! Лучшая благодарность - плюс в репутацию :-)
masb8ly-GCДата: Понедельник, 23 Января 2012, 21:26 | Сообщение # 58
постоянный участник
Сейчас нет на сайте
Паскаль проще, но если планируешь использовать для программирования игр, то лучше С++, хотя оба языка довольно функциональны! Тут кому как удобнее!

Backend Developer ESIS
Client Side Developer Room8Studio
Technical Leader Lucid Reality Labs
Chief Technology Officer The Intruders
Chief Technology Officer RoyalePlay Games
mrResidentДата: Понедельник, 23 Января 2012, 21:35 | Сообщение # 59
постоянный участник
Сейчас нет на сайте
Вот, порылся на винте и достал из недр лабораторку по системному программированию (3 курс универа), вот кусок кода от туда
Code

OUT_TEXT macro Color,Length,Text,POS    ; Вывод строки символов с заданным цветом
  PUSH    AX       ; => Color  - цвет строки символов
  PUSH    BX       ; => Length - длина строки
  PUSH    CX       ; => Text   - выводимая строка символов
  PUSH    DI       ; => POS    - позиция внутри строки
   
  MOV  BL,Color
  XOR  CX,CX
  MOV  CL,Length
  MOV  BH,00h
  XOR  AX,AX
  MOV  AL,Length
  SUB  AL,01h
  MOV  DI,AX
  XOR  AX,AX
  MOV  AL,POS
  ADD  DI,AX
@OUT_FIL:  
  MOV  AH,09h
  MOV  AL,Text[DI]
  INT  10h
  DEC  DI
  LOOP    @OUT_FIL
   
  POP  DI
  POP  CX
  POP  BX
  POP  AX
endm

чистейший asm, ни капли win api smile
Вспоминаю, когда получил задание для лабораторку, подумал что с моим почти нулевым знанием asm нереально что-то сделать, ан нет, сделал же и причем сам, а не тупо копипастом smile


Укроп головного мозга - болезнь тяжелая, но излечимая!
noTformaTДата: Понедельник, 23 Января 2012, 22:09 | Сообщение # 60
Ukrainian independent game developer
Сейчас нет на сайте
ммм, что касается преломления стереотипов и прочей лабуды.

Я не хорошо знаю современный асм (я кое как помню асм для платформы 8086), но мне интересно как на асме решить следующую задачу.
Надо описать базовый интерфейс ProtoInterface. В интерфейсе ProtoInterface, определить поведение, тоесть описать два метода, первый medotA - закрытый, второй medotB - открытый. Описать базовый класс ProtoClass который будет наследовать поведение (имплементация ) от интерфейса ProtoInterface, и реализовать унаследованное поведение, пусть там будет просто return.
Я не говорю что это нереализуемо на современном асме, я просто не знаю, есть ли там такие возможности, мне просто интересно. очень хочется увидеть код.

Я конечно понимаю что тут ООП, но это как ни есть преломление стереотипов, например для ас3 или тех же джава программистов, ну и с++ сюда можно присобачить и кучу других ооп языков.


@noTformaT
Форум игроделов » Программирование » Общие обсуждения программистов » Хочу выучить ЯП (Для начального программирования)
  • Страница 3 из 5
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • »
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг