Язык програмирования

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by Bart dog, 9 Nov 2015.

Thread Status:
Not open for further replies.
  1. Bart dog

    Bart dog New Member

    Joined:
    9 Nov 2015
    Messages:
    4
    Likes Received:
    0
    Reputations:
    0
    Привет Всем!Хочу выучить язык програмирования!
    Погуглил и столкнулся с такой проблемой: С какого языка начать изучение!
    Подскажите!
     
  2. Gar|k

    Gar|k Moderator

    Joined:
    20 Mar 2009
    Messages:
    1,166
    Likes Received:
    266
    Reputations:
    82
    Эммм... да тут на форуме таких же тем дофига. Начинай с turbo pascal что бы понять что такое алгоритм. Найди в интернете задачки для новичков. Типа сортировки пузырьком или найти максимальное число из массива...
    Как ознакомишься и разберешься с этим пиши )
     
    _________________________
  3. Developer™

    Developer™ Member

    Joined:
    7 Nov 2013
    Messages:
    30
    Likes Received:
    6
    Reputations:
    0
    Pascal, потом C++.
     
  4. triblekill

    triblekill Member

    Joined:
    21 Aug 2011
    Messages:
    351
    Likes Received:
    94
    Reputations:
    1
  5. dlavager

    dlavager Banned

    Joined:
    1 Feb 2013
    Messages:
    154
    Likes Received:
    13
    Reputations:
    1
    смотря что вы хотите в результате получить,после изучения и чем заниматься.
    Тут масса ньюансов
     
  6. cyberposting

    cyberposting New Member

    Joined:
    14 Nov 2015
    Messages:
    19
    Likes Received:
    3
    Reputations:
    0
    C (СИ).
    "Язык программирования Си" Брайан Керниган, Деннис Ритчи.

    Потом C++
    "Язык программирования С++" Бьерн Страуструп
    "Полный справочник по C++" Герберт Шилдт.

    Потом для "правильного" програмирования
    "Стандарты программирования на С++. 101 правило и рекомендация" Герб Саттер, Андрей Александреску

    Потом напиши свой компилятор.

    После этого тебе все равно будет на каком языке писать.
     
  7. smack

    smack Active Member

    Joined:
    25 Aug 2013
    Messages:
    210
    Likes Received:
    157
    Reputations:
    3
    Сижу, разглядываю листинг на Питоне. Отец, глянув издалека на монитор, спрашивает: Маяковского читаешь?
     
    AntiduPb and Turanchocks_ like this.
  8. CKAP

    CKAP Well-Known Member

    Joined:
    9 Oct 2015
    Messages:
    653
    Likes Received:
    2,865
    Reputations:
    8
    Это дело сугубо лично каждого.
    Паскаль давно уже не актуален. Трата времени короче.
    Си язык сильный, умный, славен своей не стабильностью и падением прог. Есть куча вилок... как под софт так и под дровы.

    На вот тебе этого нудного пацана... хоч не хоч научишься.


    зы. А чего нагуглил то?
     
    K800 likes this.
  9. capuletti

    capuletti Member

    Joined:
    19 Jun 2015
    Messages:
    68
    Likes Received:
    43
    Reputations:
    1
    Стартануть можно с делфи, так как куча нубовских уроков именно по нему, а дальше уже там может и на плюсы перейдешь.
     
  10. Gar|k

    Gar|k Moderator

    Joined:
    20 Mar 2009
    Messages:
    1,166
    Likes Received:
    266
    Reputations:
    82
    Паскаль живее всех живых ) Он создан для обучения, ведь что бы начать программировать нужно понять для себя что такое алгоритм, как его составить и реализовать.
    Понимая как из задачи сделать конкретный алгоритм, не составит труда изучить синтаксические конструкции любого языка для его реализации.

    Си для новичка сложен, его синтаксис позволяет многое, например в объявлении цикла запихать половину программы, к тому же что бы например понять работу с теми же строками, которыми формируется вывод - нужно понимать, как выполняются программы, как устроена память. На первых порах это лишняя информация, которая забивает голову.

    Code:
    char *hex;
    ...
    BYTE( *hex++, *++hex );
    ...
    
    ^ даже опытный программист без 100 грамм сходу не разберет, какие значения передадутся макросу и как изменится потом указатель hex, а не опытный скажет ну его это программирование

    [​IMG]
     
    _________________________
    #10 Gar|k, 2 Dec 2015
    Last edited: 2 Dec 2015
    alexey-m likes this.
  11. cyberposting

    cyberposting New Member

    Joined:
    14 Nov 2015
    Messages:
    19
    Likes Received:
    3
    Reputations:
    0
    разыменовывается указатель, значение инкрементируется
    указатель сдвигается, берется значение по адресу
    так?) просто интересно
     
  12. CKAP

    CKAP Well-Known Member

    Joined:
    9 Oct 2015
    Messages:
    653
    Likes Received:
    2,865
    Reputations:
    8
    Ну да... чёт я погорячился. ТС как то не сказал про свои возможности. Я подобрал ему очень дотошный видео урок по си стандарта С99. Всё же советую этот урок из головы не выкидывать. Там первые два урока расскажут про шаблоны и программы для создания своих шаблонов.

    На Паскале был написан второй ВоркРафт, был написан Фалаут... а точнее уже на делфи. Вобчем есть чем гордится. Если тебе нравится порядок, то Паскаль твой выбор. Мне так же попадались не плохие видео уроки от Жеки Попова по html, это конечно гипер текстовый язык. Но всё же язык. Понятно что синтаксис другой, но суть одна и та же.

    ________голова_____
    *****************
    *****************
    _______Тело________
    *****************
    *****************
    _____Конец________


    И этот шаблон попадает под многие языки, включая и Си. Конечно Си допускает объявления прям в теле, но это уже считается говно кодом. В любом случае ТС придётся учить Си, а потом и php. Последний дастся ему легче обладая навыком в Си.

    Я бы посоветовал такую цепь. html и CSS вместо Паскаля. Да эта вся бурда статичная. Но не обязательно верстать сайт. Можно для практической работы сверстать мануал допустим к любимой игре в красивой обёртке.

    Потом Си и php.

    Если ТС устроит такой вариант, пороюсь и найду ссылки на видео уроки от Попова по html и CSS.
    зы. ТС учится с нуля, не означает что, запасся мануалами, открыл студию и начал шлёпать код. Для начала нужно настроить свою среду. Создать папку для уроков, где будешь кампилить код. Настроить компилятор ( Я сейчас работаю с ассемблером, компилятор и линковщик у меня прописаны в перемененной PATH ) работа с ключами компилятора протекает в CMD. Для шаблонов и набора кода я использую Саблайн.

    Знать синтаксис очень важно, но важнее уметь его применять. Это как конструктор Лего. Толку ведь будет мало если ты просто будешь знать как выглядят детальки, и как их можно соединять. Но и писать тонну кода тоже не к чему. Лучше больше внимания уделять разбору мелочам. ( Мелочи не имеют решающего значения они решают всё! ) какой бы ты язык не выбрал у него есть стандарт и спёк (специфика). О них ты можешь узнать на оф сайтах продукта. Как работает та или иная функция и почему именно так. Это не мало важно.

    Так же всё представления в ПК выглядит вот так:

    00011100011100000111110000111110010100100001110011000100001110001110000011111000011111001010010000111001100010000111000111000001111100001111100101001000011100110001000011100011100000111110000111110010100100001110011000100001110001110000011111000011111001010010000111001100010

    Это и данные, и команды ЦПУ, и коды символов, и математические операции. Учась работать с языком ты будешь к нему подключать библиотеки, или модули. Некоторые будут иметь такой формат.

    ________Файл_______
    ________голова_____
    *****************
    *****************
    _______Тело________
    *****************
    *****************
    _____Конец________
    ________голова_____
    *****************
    *****************
    _______Тело________
    *****************
    *****************
    _____Конец________
    __________________

    А другие такой...
    ________Файл_______
    0011100010001000001
    0000100011100100001
    1110010000100100100

    ___________________

    В первом случае можно самому открыть такою библиотеку, посмотреть что с чем работает и как. А во втором случае тебе поможет стандарт языка.
     
  13. Gar|k

    Gar|k Moderator

    Joined:
    20 Mar 2009
    Messages:
    1,166
    Likes Received:
    266
    Reputations:
    82
    2 CKAP жуть какая учить что-то по видео курсам ) Я честно посмотрел больше половины ролика, что ты скинул и автору данного видео мне хочется только ногой с вертушки заехать ) Куча воды бе-мэ заикается, перескакивает с одного вопроса на другой, подготовил бы текст сначала что бы не заикаться, примеры дурацкие приводит и "рекламирует свой курс" большую часть времени. Зачем мне знать почему другие курсы плохие если я уже открыл и смотрю твой? я учится хочу. Распинается про мышление программиста - все мышление программиста сводится к понятию термина алгоритм и умению его составить. Можешь задачу разбить на пункты - все ты мыслишь как программист ) остается только сесть и записать этот алгоритм в выбранном тобой языке.... HTML и CSS ??? это вообще не языки программирования ) HTML стандарт разметки текста вышедший их XML, ты бы еще ТС посоветовал выучить RTF )) Лично я вообще не понимаю как что-то можно учить по ВИДЕО курсам. Если в книге ты не понял момент, ты можешь вернуться и прочитать его снова, видео придется перематывать, в видео нет оглавления, как освежить в памяти то что ты подзабыл? Книгу или справочник можно пробежать глазами и сразу вспомнить, а в видео ты будешь ждать пока диктор скажет нужный участок текста...

    Фаронов В.В - Turbo Pascal 7.0 - великая книга :)

    По поводу PHP. Это скриптовый язык программирования с динамической типизацией, ничего плохого не скажу про него, но он специализированный, как расшифровывается PHP - Personal Home Page Tools — «Инструменты для создания персональных веб-страниц».

    Если уж начинать сразу с дебрей я бы посоветовал учить либо C# либо Java. Но лично мое мнение нужно начинать с азов с обычных процедурных ЯП, а уже потом лезть в дебри ООП, хотя может я ошибаюсь, потому что для процедурных и ООП программ нужно совершенно разное мышление.

    2 cyberposting http://c0dedgarik.blogspot.ru/2012/04/hex-2-bin.html там полный код. Насколько я помню:

    - возмется значение по адресу hex
    - возмется значение по адресу ++hex (это уже будет (hex + 1) так как инкремент стоит перед)
    - а после уже инкрементированный ранее сработает hex++ добавляя еще hex + 1

    В результате получаем смещение адреса на + 2 и по циклу следующие 2 значения берем. Ну и конечно надо помнить прибавляя что-то к указателю например char * p; p = p+1; это не прибавить еденицу - а p + sizeof(type of p); - если например будет unsigned int * a; то a + 4; сместит указатель не на 4 байта а на 4*sizeof(unsinged int) ; = 16 байт. Ну и в си есть специальные типы для подобных значений типа число 4 должно быть типа ptrdiff_t, off_t или size_t - это важно, ведь программа может компилировать под различные архитектуры процессора... воот из-за обилия таких вот не особо явных вещей я и не рекомендую начинать учить основы программирования с языка Си )
     
    _________________________
    #13 Gar|k, 2 Dec 2015
    Last edited: 2 Dec 2015
  14. CKAP

    CKAP Well-Known Member

    Joined:
    9 Oct 2015
    Messages:
    653
    Likes Received:
    2,865
    Reputations:
    8
    Это тебе как спецу может и охота уколбасить автора видео. Не скрою мне и самому хотелось ему оставить гнусный комент. Хехехх... не суть. Дело в том что, у тебя уже сформировалась своя доказательная база. А у ТС нет. И многие вещи ему будут казаться дикими. Понятия и понимания есть единства слова и образа. Книги это хорошо, но только как справочник. Нет не чего плохого в видео уроках, когда ты слышишь и видишь. К тому же то видео, ТС в первую очередь познакомит с инструментами. А в какой руке их держать дело каждого.

    Ну да... а то я про это не сказал.

    Может и так, не спорю, не читал. Думаю ТС возьмёт её на вооружения когда определится с выборов .pas или .с Те книги что я читал по Паскалю с первых страниц вводили в заблуждения. Метода явно выдрона с чего то чуждого. И если начинать с Паскаля то по правилам информатики (Создать файл, записать в него что то, сохранить файл, скопировать и тд...) А не начинать с WriteLn; а на странице этак 50-ой рассказать про процедуры.
     
    cobracyborg likes this.
  15. i~DOS

    i~DOS Member

    Joined:
    26 Mar 2009
    Messages:
    42
    Likes Received:
    40
    Reputations:
    4
    Гарик все толково расписал, но проблема в том, что паскаль сейчас годится только в качестве учебного языка и не имеет перспектив (раньше можно было уйти на delphi). На мой взгляд, первый язык программирования должен иметь статическую строгую типизацию (php и C - сразу мимо) и компилируемым. Паскаль подходит под эти параметры, но в текущих реалиях я бы выбрал Go.

    Почему?
    1. простой синтаксис
    2. строгая статическая типизация
    3. не навязывает использование какой-либо парадигмы
    4. есть сборщик мусора, есть указатели, но в то же время нет адресной арифметики
    5. единообразие стиля кода (за счет gofmt) и компилятор, который капает на мозг за каждую оплошность (как неимпользуемая переменная)
    Ну и самое главное: после освоения синтаксиса и сборки своего первого "hello world", нужно обязательно штудировать алгоритмы и структуры данных (одноименная книга за авторством Вирта вполне подойдет) и реализовывать их на выбранном ЯП. Все программирование в алгоритмах.

    (еще стоит освоить дискретку)
     
    cobracyborg and CKAP like this.
  16. CKAP

    CKAP Well-Known Member

    Joined:
    9 Oct 2015
    Messages:
    653
    Likes Received:
    2,865
    Reputations:
    8
    Не ну а я о чём говорю. Что сказал ТС -->> Привет Всем!Хочу выучить язык програмирования!
    Заметил Гарик после запятых ставит пробел? Старая школа! Уважуха. ТС не сказал ведь - Я хочу выучить язык программирования и попасть в команду Яндекс. Или хочу писать дрова для принтеров. Или заняться в будущем разработкой ОС. Я дал ему нудный, но понятный видео урок по си. Что бы он просто ознакомился что и как. У Гарика обостренная любовь к Паскалю и это нормально. Надеюсь что его начнут изучать в школах как основу.
     
  17. AntiduPb

    AntiduPb Member

    Joined:
    27 Apr 2013
    Messages:
    95
    Likes Received:
    90
    Reputations:
    0
    C по K&R самое оно. Друг с Прата тащится(есть C и C++). Я учил по K&R, прошел 1/4 где-то, исправно карпел над каждой задачей, вчитывался в каждую запятую. Но за неимением реальных задач для этого языка - забил. 95% _моих_ задач покрывает Bash. Если не парится и не выполнять все задания в конце каждой главы, то книжку можно прочитать за неделю _не_напрягаясь_вообще_. Я всё то что прочитал на тот момент в K&R понял от и до. Советую. ИМХО
     
    CKAP likes this.
Thread Status:
Not open for further replies.