Начало программирования.

Тема в разделе "WASM.BEGINNERS", создана пользователем Heineken, 22 ноя 2008.

  1. Heineken

    Heineken New Member

    Публикаций:
    0
    Регистрация:
    22 ноя 2008
    Сообщения:
    10
    Здравствуйте. Хочу начать изучать программирование, только вот не знаю с чего начать. С какакого языка, или до изучения языка ещё чтото надо изучить. Очень прошу помочь.
     
  2. _basmp_

    _basmp_ New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2005
    Сообщения:
    2.939
    с манов интела. особенно том 3 хорош.
     
  3. rvlab

    rvlab New Member

    Публикаций:
    0
    Регистрация:
    22 ноя 2008
    Сообщения:
    2
  4. SII

    SII Воин против дзена

    Публикаций:
    0
    Регистрация:
    31 окт 2007
    Сообщения:
    1.483
    Адрес:
    Подмосковье
    Уже несколько раз обсуждалось. Моё ИМХО -- Паскаль (хоть Турбо, хоть Дельфи, однако в последнем случае -- не "формошлёпство", как его называют, а программирование консольных приложений).

    Хотя программирование на самом деле -- это на 95% умение превращать задачу (идею, замысел и т.д. и т.п.) в алгоритм и в структуры данных и лишь на 5% -- владение одним или несколькими языками программирования.
     
  5. amvoz

    amvoz Member

    Публикаций:
    0
    Регистрация:
    12 ноя 2008
    Сообщения:
    653
    Парень, не Паскаль. Я сам с него начинал. Потом С, теперь до ассемблера добрался. Лучше бы я этот паскаль не изучал никогда. Просто я всерьёз полагал, что типизирование данных нужно для того, чтобы нельзя было возвести букву в квадратный корень... Блин, меня на Сишном форуме просвятили для чего нужны типы- просто для экономии места, я с неделю эту информацию переосмысливал. Вообще, хорошо кто-то сказал- Паскаль создан для учёбы, а С для работы. Если всё шито-крыто, железо нормальное, с кодировками порядок, кракозябров нигде не появляется, можно и паскаль. Только Бог его знает, что завтра будет, надоест тебе эта Windows с её навязчивым и никому не нужным сервисом, захочешь ты перейти на ОС Linux- вот тут-то тебе С и пригодится, ибо это язык родной для Linuxа. А там без программировни делать нечего. Просто рано или поздно все понимают, что не нужно 10 браузеров и не нужно 10 музыкальных проигрывателей и не нужно 10 текстовых редакторов, а нужно всё по одному, но такие, какие тебе нужны. Это автоматом значит Linux. А Linux автоматом значит С. Такой вот аргумент.
     
  6. GoldFinch

    GoldFinch New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2008
    Сообщения:
    1.775
    +1 к тому что учиться программировать надо на нормальных человекоподобных языках - в то числе и на паскале.
    Вообще стоит отделить изучение алгоритмов и структур от их реализации на конкретном ЯП.
    А паскаль гораздо лучше подходит для описания алгоритмов, чем Си.
     
  7. K10

    K10 New Member

    Публикаций:
    0
    Регистрация:
    3 окт 2008
    Сообщения:
    1.590
    amvoz
    Может тебе стоит сначала научиться программировать MessageBox, а потом уже рассуждать о языках программирования?

    жжош ))

    Ну покажи мне на линуксе аналоги OllyDbg, Syser, Visual Studio, Delphi и т.д. Там и на ассемблере толком не программируют...

    Какие громкие слова...
    Лучше бы ты изучил что-то одно, но нормально.
     
  8. amvoz

    amvoz Member

    Публикаций:
    0
    Регистрация:
    12 ноя 2008
    Сообщения:
    653
    Сравнение языка С с тем же паскалем напоминает мне сравнение автомата Калашникова с не помню чем, каким-то американским. Второй, конечно побаще был. Он и поизящнее и полегче и поудобнее. В идеальных условиях. А автомат Калашникова одинаково среден в любых условиях, хоть в пустыне, хоть на севере. Вот так-то.
     
  9. K10

    K10 New Member

    Публикаций:
    0
    Регистрация:
    3 окт 2008
    Сообщения:
    1.590
    Какие еще автоматы?
    Может хватит бред нести?
     
  10. CrystalIC

    CrystalIC New Member

    Публикаций:
    0
    Регистрация:
    26 июл 2008
    Сообщения:
    500
    С асма однозначно.
     
  11. amvoz

    amvoz Member

    Публикаций:
    0
    Регистрация:
    12 ноя 2008
    Сообщения:
    653
    Суть моих высказываний- я сравнил 2 языка (2, заметь) по определённым критериям. Паскаль и С. И представляешь, не пойму хоть убей- у меня, что, мнение о них изменится, научись я программировать MessageBoX? Её ты приплёл ни к селу ни к городу. И "рассуждать о языках программирования" понятие настолько расплывчатое, что может значить всё, что угодно а потому нет необходимости отвечать за свои слова. Говори конкретнее, будь мужчиной.
     
  12. amvoz

    amvoz Member

    Публикаций:
    0
    Регистрация:
    12 ноя 2008
    Сообщения:
    653
    Нет, не жгу. Зачем в языке С тип char, ответь? Чтобы выделить (сейчас к словам придерётся) место для небольших чисел в диапазоне от -127 до 128. (Или от 0 до 255) А не объявлять их как тип int, значения которого занимают больше места. Вот ты умный, скажи ещё зачем есть два типа? Оставили бы один int и дело с концом.
    А затем, что место экономить надо.
     
  13. amvoz

    amvoz Member

    Публикаций:
    0
    Регистрация:
    12 ноя 2008
    Сообщения:
    653
    Да, я с тобой согласен и что? Ты это зачем сказал? Почему я должен гадать? Или что- Linux хуже, коль скоро мы не можем запустить в нём перечисленные тобой программы (я гадаю, мне ничего неостаётся, ты неконкретно говоришь, дабы не отвечать за свои слова). Ну, так если так, то ну и ладненько. Преимущества Linux (к коему отношусь очень критично) я тебе расписывать не буду, оставайся при своём мнении.
    ...Хе, да зачем там аналоги отладчиков, если Linux- операционка с открытым исходным кодом?
    Эх ты, дерёвня... Да, там ещё игрушек всяких нет...
     
  14. CrystalIC

    CrystalIC New Member

    Публикаций:
    0
    Регистрация:
    26 июл 2008
    Сообщения:
    500
    amvoz
    Название само за себя говорит, чтобы хранить символ. Для чего куча типов для указания строк нужна ?
    PSTR, PCHAR, PWSTR... чтобы понятно было что за строка, я множество типов в масме юзаю, только для того, чтобы понятно было, нормальный кодер запишет ULONG вместо DWORD, если нужно число хранить например.
     
  15. amvoz

    amvoz Member

    Публикаций:
    0
    Регистрация:
    12 ноя 2008
    Сообщения:
    653
    И опять ничего не значащая фраза- поробуй подкопайся... Это как в "12-ти стулях"- помогал детям и ладно. Так же и здесь. Лучше одно, но нормально... Мда.
     
  16. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    Изучать надо Си. Пригодится.

    amvoz
    Это не экономия. Для обращения к байту требуется считать его в 32 или 64 битный регистр. А это требует обнулении старшей части или заполнения еденицами для чисел со знаками. Команда по любому будет длинее и таких команд явно больше 1. Так что место не экономиться, а скорость при этом между прочим падает. Другое дело что Byte позволяет скрыть все эти приобрезования которые выполняются при чтении и записи.
     
  17. amvoz

    amvoz Member

    Публикаций:
    0
    Регистрация:
    12 ноя 2008
    Сообщения:
    653
    ...Парень, давай зря не спорить. Передо мной книга Кернигана и Ритчи- авторов С. Читаем
    "2.2
    char- один байт, содержащий один символ из локального симольного набора"
    Казаось бы, я повержен, но

    "2.7 Переменные типа char это короткие целые числа, поэтому их можно свободно использовать в арифметических выражениях"

    Что ещё? Но даже если бы этого указания не было, обратимся к практике. В программе *.c объявим
    char x= 12;
    И всё проёдёт на ура. Так что для чисел создан char. (В первую, конечно очередь). Иименно, чтобы место экономить, чтобы не объявлять
    int x= 12;
    Хотя мы оба понимаем, что часто такая экономия несущественна. Часто, но не всегда.
     
  18. CrystalIC

    CrystalIC New Member

    Публикаций:
    0
    Регистрация:
    26 июл 2008
    Сообщения:
    500
    Просто тип явно размер не определяет, он в первую очередь смысловую нагрузку несёт. Пример на пальцах с темже CHAR. Имя секции в заголовке 8 байт(IMAGE_SECTION_HEADER.Name). amvoz как на это имя ссылаться ?
    PLARGE_INTEGER :lol: , точно не то, хотя размер подходит. PSTR - и это не то, строка то есть, но нуля в конце нет. Поэтому PCHAR.
     
  19. amvoz

    amvoz Member

    Публикаций:
    0
    Регистрация:
    12 ноя 2008
    Сообщения:
    653
    Слушай, я не силён в том, что происходит после обращения к байту. Но для переменной типа char резервируется столько-то мета, а для переменной типа int в 2 раза больше. После обраения к ним- не спорю, там твоя стезя. Но до обращения-то есть экономия?
     
  20. CrystalIC

    CrystalIC New Member

    Публикаций:
    0
    Регистрация:
    26 июл 2008
    Сообщения:
    500
    Обьясню иначе. Вот прототип сервиса:
    ZwOpenProcess proto stdcall :lol: WORD, :lol: WORD, :lol: WORD, :lol: WORD
    Размер каждого параметра 4 байта, но что каким параметром передать ?
    ZwOpenProcess(
    OUT PHANDLE ProcessHandle,
    IN ACCESS_MASK DesiredAccess,
    IN POBJECT_ATTRIBUTES ObjectAttributes,
    IN PCLIENT_ID ClientId OPTIONAL
    );
    Так понятно. Если без типов писать, то я завтра наверно и не вспомнил параметры функций, которые написал сегодня..