LINUX.ORG.RU

Язык программирования Си как прикладной!

 ,


2

1

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



Последнее исправление: cetjs2 (всего исправлений: 1)

т.е. ты даже не имеешь терпения нагуглить и отфильтровать кучу инфы в гугле (или пусть даже на ЛОРе) по этим языкам и составить хотя-бы предварительное мнение?

Тогда надо царя позвать...

yyk ★★★★★
()

В прикладном чистый Си тоже используется, только вакансии появляются реже. Но заточен он конечно под системное, и там это очень удобный инструмент. Попробуй поработать с железом на низком уровне, если зацепил Си, то может зацепит и системное программирование?

x-signal ★★
()

Нравится Си пиши на Си, нужен язык для денег учи 1С, полно вакансий, никакой проблемы нет

ilovewindows ★★★★★
()

Углубляться в Си или же переходить на другой?

переходи. Знание pure C позволит тебе стать одним из немногих программистов, которые пишут на пхп. (Большинство таки быдлокодеры).

Вот только «пары программ» явно недостаточно для понимания. Это всё равно что школьник, изучивший 2 буквы в азбуке.

emulek
()

Тянет, конечно, на очередной вброс...

По сабжу:

Но смутило одно, его используют в системном программировании

А что в этом плохого? Вакансий, возможно, меньше, зато работа более интересная, имхо.

solovey ★★
()

Углубись в С, а потом переходи на другой. Знание и понимание С - это в любом случае полезный навык

Gvidon ★★★★
()
Ответ на: комментарий от andrzon

Ну тогда присоединюсь к тем, кто советует начинать с Си, а потом переползать на другие языки... ИМХО, эти знания все-равно пригодятся

solovey ★★
()

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

изучай дальше, что зацепило - твое. пробуй писать что-нибудь системное.

Deleted
()

Glib/Gtk написаны на pure C, так что не отчаивайся. Хочешь писать прикладное ПО на C - пиши под gtk.

anonymous
()
Ответ на: комментарий от andrzon

На github'е можно найти кучу проектов на самых разных языках + смотри примеры из различных книг.

Что касается меня, то своих опенсорсных поделок не имею. Да и не отношу себя к тем людям, чей код стоит изучать новичкам =)

solovey ★★
()

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

thesis ★★★★★
()
Ответ на: комментарий от thesis

Что-то я не понял смысла - уметь более одного языка программирования. Типа знать более одного языка программирования. Ну главное уметь программировать, просто чистый Си очень нравится.

andrzon
() автор топика

Изучи хоть один нормальный язык, например Tcl вначале. Ну или например Scheme или OCaml или Haskell. Tcl полезней всего для прикладного что надо быстро накатать, особенно если с GUI.

А вообще наиболее моден как прикладной сейчас язык Python.

Xenius ★★★★★
()
Последнее исправление: Xenius (всего исправлений: 1)
Ответ на: комментарий от andrzon

Типа знать более одного языка программирования.

Ага.

просто чистый Си очень нравится

Ну и хорошо же. Но мало.

thesis ★★★★★
()
Ответ на: комментарий от Xenius

нормальный язык

Tcl

Scheme

OCaml

Haskell

При всей любви к этим четырем языкам, ни один из них не назвал бы «нормальным» :)

buddhist ★★★★★
()

Но смутило одно, его используют в системном программировании, а в прикладном доминируют языки названные выше.

Кто тебе это сказал?

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от anonymous

Хочешь писать прикладное ПО на C - пиши под gtk.

А ты с чего взял, что прикладное программирование обязательно с гуйней должно быть? Очень даже наоборот!

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Xenius

Один из тех случаев, когда слово «нормальный» используется вместо слова «ненужный».

thesis ★★★★★
()
Ответ на: комментарий от thesis

Ну тогда изучу как следует Си, а потом если его средств будет недостаточно изучу еще какой-нибудь. Но это потом!

andrzon
() автор топика
Ответ на: комментарий от buddhist

ни один из них не назвал бы «нормальным» :)

«Если всё вокруг кажется ненормальным, подумай - может, проблема в тебе?» (ц)

tailgunner ★★★★★
()
Ответ на: комментарий от Eddy_Em

Дык, я консольные приложения и пишу. Правда он убогие, но в конторе где я работаю их оценили. Парк компов не самый новый)))), а консольный интерфейс много памяти не требует.

andrzon
() автор топика
Ответ на: комментарий от andrzon

А у меня из всего зоопарка велосипедов с гуйней на gtk только одна кривая недоделанная фигня. Но там я просто ступил в свое время с выбором тулкита. Надо было либо на openGL'ной какой-нибудь виджетобиблиотеке делать, либо вообще на чистом openGL (без гуйни там нельзя: нужно смотреть картинки, в т.ч. в 3D).

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от andrzon

Да не торопись, конечно.
Просто мир щас такой, что выбор языка во многом определяется задачей.
Типа «на чем писать десктопный гуй - конечно, на кутях. А на кутях принято писать на С++, значит, берем С++».
Или «на чем пишут под андроид? Конечно, на кутях жабе. Акей, берем эклипс, эмулятор андроида и пишем на жабе».
Или «на чем пишут вебню? Да на чем попало пишут вебню. Приходим на ЛОР и разводим стопицотый срач на тему „руби против питона против ПХП против серверного жабаскрипта против всего-на-свете“».

thesis ★★★★★
()
Последнее исправление: thesis (всего исправлений: 2)
Ответ на: комментарий от Eddy_Em

Слушай, подсказать можешь книги по Си? Сейчас штудирую «Практика программирования» книжка хорошая, но хочется еще чего-нибудь эдакого. На books.ru и ozon.ru кроме них практически ничего нет, ну еще Стивен Прата, но дороговата она. А «Искусство программирования на Си» которую нашел на просторах просто ужасного качества.

andrzon
() автор топика

Я недоумеваю, как люди, не умеющие программировать, смеют считать себя системными администраторами? Что-то в этом мире сильно поменялось, раз эникейщики и подай-принесийщики вдруг «администраторами» стали.

anonymous
()
Ответ на: комментарий от andrzon

Керниган и Ритчи, «Язык программирования C».

Gvidon ★★★★
()

Недавно задумался о выборе языка, взял на заметку C#, Java, C++ и даже Pure C

Выучи все эти языки, потом что-нибудь из скриптоты (Ruby, Perl, Python, Tcl) и функциональщины (SML, Haskell, OCaml, CL/Scheme, Erlang).

theNamelessOne ★★★★★
()
Ответ на: комментарий от anonymous

Ну программирование на bash я не считаю серьезным программированием, к тому же вам надо научиться гуглить. В обязанности некоторых системных администраторов не входит разработка ПО. Я занимаюсь контролем парка ПК, а также обеспечение безопасности. На вики зайдите и почитайте. Вы прям как мой бухгалтер, всех IT-шников в одну кучу. Может я еще должен уметь телевизоры чинить?)))))

andrzon
() автор топика
Ответ на: комментарий от andrzon

Ну раз ты ее перечитываешь, то значит, что понимаешь синтаксис и указатели. Теперь начинай писать какой-нибудь проект, удачи.

grouzen ★★
()
Ответ на: комментарий от andrzon

Ну программирование на bash я не считаю серьезным программированием

Идиот. Чем же bash, python, tcl, perl и прочие обязательные инструменты администратора не программирование?

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

В обязанности любого администратора входит АВТОМАТИЗАЦИЯ. А это всегда связано с программированием.

Вы прям как мой бухгалтер, всех IT-шников в одну кучу.

Але, лярва, ты сам себя назвал «системным администратором». В мое время системный администратор был обязан программировать. Назвался бы тогда честно эникейщиком, никаких к тебе претензий не было бы.

anonymous
()
Ответ на: комментарий от andrzon

временами ее перечитываю

Лучше упражнения делай. И не забывай результат пускать хотя бы через valgrind

Gvidon ★★★★
()
Ответ на: комментарий от anonymous

Нет, язык, несомненно, очень годный, но синтаксис и семантика его могут показаться крайне странными для новичка.

buddhist ★★★★★
()
Ответ на: комментарий от anonymous

Обязанности В круг типовых задач системного администратора обычно входит: подготовка и сохранение резервных копий данных, их периодическая проверка и уничтожение; установка и конфигурирование необходимых обновлений для операционной системы и используемых программ; установка и конфигурирование нового аппаратного и программного обеспечения; создание и поддержание в актуальном состоянии пользовательских учётных записей; ответственность за информационную безопасность в компании; устранение неполадок в системе; планирование и проведение работ по расширению сетевой структуры предприятия; документирование всех произведенных действий. А оскорбляя меня, вы лишь показываете свой уровень развития. Он очень низок.

andrzon
() автор топика
Ответ на: комментарий от andrzon

Ну тогда изучу как следует Си, а потом если его средств будет недостаточно изучу еще какой-нибудь. Но это потом!

Ты не поймёшь, что средств недостаточно, пока не изучишь ещё какой-нибудь язык. Кроме перечисленных ещё J могу посоветовать. Ну и конечно если всерьёз занимаешься программированием, тем более на C, нужно обязательно знать ассемблер, хотя бы один. Не обязательно его применять, но главное иметь о нём представление — знать как код работает изнутри. Попробуй fasm, вроде как самый простой ассемблер и при этом один из самых продвинутых.

Xenius ★★★★★
()
Ответ на: комментарий от buddhist

Если новичок - администратор, то как минимум в Tcl будет то, что ему близко и понятно, а это важнее всяких там синтаксисов.

anonymous
()
Ответ на: комментарий от andrzon

подготовка и сохранение резервных копий данных

Ты это ручонками что-ли делаешь? Без всякой автоматизации?

их периодическая проверка и уничтожение

И это ручонками делаешь?!?

установка и конфигурирование необходимых обновлений для операционной системы

Установка должна автоматизироваться. Конфигурирование почти все и везде требует программирования, как минимум понимания всяких там startup-скриптов необходимо.

создание и поддержание в актуальном состоянии пользовательских учётных записей

Опять же, как минимум скрипт для клонирования типовой учетки для каждой возможной категории пользователей тут необходим, если только ты не в гадюшнике «Рога и Копыта» работаешь, с десятком юзеров.

ответственность за информационную безопасность в компании

Ну и как ты хотя бы объявления о возможных эксплоитах читаешь, если программировать не умеешь?

А оскорбляя меня, вы лишь показываете свой уровень развития. Он очень низок.

Дитятко, ламеришко, никто тебя не «оскорбляет». Я всего лишь констатирую факт - профессия скатилась в сраное говно, и теперь любую полуграмотную шавку называют «администратором», что оскорбляет всех тех, кто носил это гордое имя в прошлом.

anonymous
()
Ответ на: комментарий от andrzon

подготовка и сохранение резервных копий данных

если ты для этого тормозишь сервер, и запускаешь акроникс — ты идиот.

если делаешь с LiveCD, то ты имбецил.

если из консольки каким-то таром или какой-нить бакулой, то ты дебил.

А админ напишет скрипт, который всё сам будет делать(причём на работающем сервере). Вот только без программирования тут увы — не взлетит.

их периодическая проверка и уничтожение;

см. выше.

установка и конфигурирование необходимых обновлений для операционной системы и используемых программ;

см. выше

создание и поддержание в актуальном состоянии пользовательских учётных записей; ответственность за информационную безопасность в компании; устранение неполадок в системе; планирование и проведение работ по расширению сетевой структуры предприятия; документирование всех произведенных действий. А оскорбляя меня, вы лишь показываете свой уровень развития. Он очень низок.

см. рис. 1

Извини за грубость.

emulek
()
Ответ на: комментарий от anonymous

Ой да ладно, ПО для всего этого хватает. Нужно лишь уметь работать с доками. Автоматизацию выполняю при помощи bash скриптов. Дитятко, ламеришко, никто тебя не «оскорбляет», а это не оскорбление. Да anonymous вы какой-то унылый тролль!

andrzon
() автор топика
Ответ на: комментарий от andrzon

Автоматизацию выполняю при помощи bash скриптов.

А это не программирование, а, лярва ты неумная?

Ой да ладно, ПО для всего этого хватает.

Ололошечки. «Хватает», как же. Я бы устроил массовую бойню через неделю работы в организации, где админит такое чмо - нервы уже давно ни к черту. К счастью, в последнее время админы все же исключительно грамотные попадаются, а подобных тебе ушлепков только в интернетах и вижу.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.