Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Общие вопросы по программированию, компьютерный форум
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.09.2018, 21:34   #1
Олег33113
Новичок
Джуниор
 
Регистрация: 18.09.2018
Сообщений: 5
По умолчанию Язык Си как первый

Здравствуйте.
Решил начать изучать программирование.
По весьма настоятельному совету одного опытного программиста решил начать с Си.
Хочу услышать ваше личное мнение по этому поводу. Желательно аргументированное.
Плюсы и минусы такого выбора.
Заранее благодарю!
Олег33113 вне форума Ответить с цитированием
Старый 18.09.2018, 21:42   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

В целом пофиг какой язык первым изучать.

Но долго задерживаться на С вряд ли стоит потому что низкоуровневый и реализовать на нем что-то интересное сложно/долго )

http://www.programmersforum.ru/showthread.php?t=303485
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 19.09.2018, 23:38   #3
Олег33113
Новичок
Джуниор
 
Регистрация: 18.09.2018
Сообщений: 5
По умолчанию

Еще мнения?
Олег33113 вне форума Ответить с цитированием
Старый 19.09.2018, 23:46   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Вы изучать хотите или мнения выслушивать?)
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 19.09.2018, 23:53   #5
Олег33113
Новичок
Джуниор
 
Регистрация: 18.09.2018
Сообщений: 5
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Вы изучать хотите или мнения выслушивать?)
Одно другому как-то мешает?)
И да.
Ничего кроме мнения опытных людей по конкретному вопросу я здесь не ищу.
Олег33113 вне форума Ответить с цитированием
Старый 20.09.2018, 05:51   #6
webvsoft
Форумчанин
 
Регистрация: 25.08.2018
Сообщений: 125
По умолчанию

Всегда надо выбирать инструмент по поставленной задаче, поэтому нужно писать ПО - линейка С, веб-приложения - Python и Js и так далее...
Невозможно предугадать поведение интеллекта, превосходящего человеческий
webvsoft вне форума Ответить с цитированием
Старый 20.09.2018, 06:13   #7
challengerr
Участник клуба
 
Аватар для challengerr
 
Регистрация: 30.07.2008
Сообщений: 1,639
По умолчанию

Язык C использовался для написания ядер операционных систем unix, linux, windows, для создания
программ для windows, таких как internet explorer, visual studio.
Может использоваться для написания драйверов, системного программирования
Синтаксис похож на синтаксис других языков программирования (java, perl, php, javascript, c++),
так как для создания компилятора использовался один и тот же механизм lex(flex)+yacc(bison).
С C можно будет перейти на C++.


Используется в C структурная парадигма программирования.
Объектно-ориентированная парадигма программирования более "мощная".


Что нужно изучить:
1. Синтаксис (препроцессор, директивы препроцессора, типы данных, переменные, константы, операторы,
массивы, указатели, строки,
функции, передача параметров в функции, перегрузка функций, перечисления,
структуры, обработка структур,
ввод/вывод)
2. Библиотека языка (stdio, stdlib, string, math, time и т.д.)
3. Структуры данных и алгоритмы (контейнеры, стеки, списки, очереди, векторы, матрицы, графы, деревья и т.д.)
4. WinAPI (элементы интерфейса, создание окон и т.д.), Unicode, Windows SDK, DDK

Темы, на которые нужно обратить внимание:
- динамическое выделение памяти (malloc, realloc)
- запись структур в файл (fwrite), чтение структур из файла (fread), rewind, fopen
- битовые поля, битовые операции
- односвязные списки

struct list
{
int data;
struct list *next;
}
- двусвязные списки
struct list
{
int data;
struct list *prev;
struct list *next;
}
- стеки

Компиляторы:
1. gcc (mingw, codeblocks)
2. visual c (visual studio)
3. intel c compiler
4. c builder

Книги:
- Керниган Б., Ритчи Д. Язык программирования Си
- стандарт http://www.open-std.org/JTC1/SC22/WG...docs/n1124.pdf
"SPACE.THE FINAL FRONTIER.This's a voyage of starship Enterprise. It's 5-year mission to explore strange new worlds,to seek out new life and civilizations,to boldly go where no man has gone before"
challengerr вне форума Ответить с цитированием
Старый 20.09.2018, 09:26   #8
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
Сообщение от Олег33113 Посмотреть сообщение
Одно другому как-то мешает?)
Ну дык сейчас придет кто-нибудь и скажет, что надо начинать с Питона.
А потом еще кто-нибудь — с Джавы.
А потом проснется красноглазый фанат ассемблера.
И так и будете пытаться выбрать вместо того чтоб изучать )

Цитата:
Сообщение от webvsoft Посмотреть сообщение
нужно писать ПО - линейка С
Какая еще линейка? "С-подобными" почти все популярные языки являются, а если речь о С, C++, C#, то это сильно разные языки и даже если под "ПО" имеется в виду десктопное ПО, то их вполне успешно пишут много на чем еще, включая тот же Питон (PyQt, ...) и JS (Electron).

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


Цитата:
Сообщение от challengerr Посмотреть сообщение
Синтаксис похож на синтаксис других языков программирования (java, perl, php, javascript, c++),
так как для создания компилятора использовался один и тот же механизм lex(flex)+yacc(bison).
Причем тут это? Полно ж и непохожих использующих это.

Цитата:
Сообщение от challengerr Посмотреть сообщение
С C можно будет перейти на C++.
С любого языка можно перейти на любой.

Причем при изучении первого языка может показаться, что изучать язык это сложно, но на самом деле вы просто изучаете кучу всего другого кроме самого языка, так что при наличии опыта использовать разные языки проще, многие вещи общие (например, половина списка выше) или похожие и т.п.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 20.09.2018, 11:13   #9
Олег33113
Новичок
Джуниор
 
Регистрация: 18.09.2018
Сообщений: 5
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Ну дык сейчас придет кто-нибудь и скажет, что надо начинать с Питона.
А потом еще кто-нибудь — с Джавы.
А потом проснется красноглазый фанат ассемблера.
И так и будете пытаться выбрать вместо того чтоб изучать )
Я ничего не выбираю. Никакую лит-ру не ищу. Не спрашиваю где больше платят и стоит ли становится программистом.
Ничего кроме мнения о Си в качестве 1-го ЯП я не спрашивал и НЕ спрашиваю


Вот именно поэтому я и попросил, чтобы мнение было аргументированное (т.е. было объяснение ПОЧЕМУ с джавы, почему с питона ...)
Пока ничё не услышал)
Только ваше,что в общем-то не имеет значения.
Спасибо.

Последний раз редактировалось Олег33113; 20.09.2018 в 11:26.
Олег33113 вне форума Ответить с цитированием
Старый 20.09.2018, 12:39   #10
Vladimir.1982
Форумчанин
 
Регистрация: 30.04.2018
Сообщений: 171
По умолчанию

Цитата:
Сообщение от Олег33113 Посмотреть сообщение
Здравствуйте.
Решил начать изучать программирование.
По весьма настоятельному совету одного опытного программиста решил начать с Си.
Хочу услышать ваше личное мнение по этому поводу. Желательно аргументированное.
Плюсы и минусы такого выбора.
Заранее благодарю!
Выучите СИ потом легче будет освоить другие языки с СИподобным синтаксисом.
Vladimir.1982 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Первый язык и как реализовать себя новичку egor_skr Общие вопросы по программированию, компьютерный форум 7 26.01.2018 12:42
Как выбрать первый язык программирование? Samir_91 Паскаль, Turbo Pascal, PascalABC.NET 2 22.05.2014 21:03
Как появился первый язык и компилятор iv8383 Свободное общение 295 23.01.2014 10:00
Java как первый язык. alondrealit Свободное общение 21 16.12.2011 21:24
Pascal или PureBasic как первый изучаемый язык.. Умяр Паскаль, Turbo Pascal, PascalABC.NET 12 30.08.2011 14:41