LINUX.ORG.RU

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

 ,


2

1

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



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

А зачем тормозить сервер, чтобы запустить Acronis?

здесь почитай: http://unixforum.org/index.php?showtopic=135940

Он как раз всё наживую делает и автоматом по расписанию, и бэкапы сам ротирует и ещё много чего.

а, магия...

emulek
()

Углубляйся. /* без комментариев */

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

здесь почитай

Много букав. Что-то про скрипты бэкапа.

Что мне там читать-то?

а, магия...

Почему магия? Под виндой не знаю как (в True Image был свой Acronis Scheduler с блэкжеком и поэтессами, а в ABR, возможно, завязались на виндовый), а под Linux, емнип они используют системный cron.

Я не говорю, что надо использовать Acronis, а не писать свои скрипты, я говорю, что для этого сервак не надо тормозить, как ты написал.

Тем более, что на самом деле это удобно, когда у тебя есть образ диска, из которого ты можешь сразу восстановить рабочую систему со всем софтом, или разлить её из этого образа на кучу машин.

А ещё в Acronis есть консольный интерфейс trueimagecmd, который спокойно можно дёргать из скриптов.

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

Я не говорю, что надо использовать Acronis, а не писать свои скрипты, я говорю, что для этого сервак не надо тормозить, как ты написал.

если не тормозить, то получится говно, а не бекап. А вот почему так — в двух словах не объяснить.

Почему магия?

магия — это когда произносишь заклинание, и у тебя всё работает, невзирая на физику, логику, и прочий матан и tl;dr, который ты не осилил.

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

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

Если ты про неконсистентность, то там для этого делаются снапшоты перед бэкапом. Юзается драйвер, который перехватывает обращения к файловой системе (собственно поэтому для установки нужен установленный gcc и исходники ядра). Вот копипаста описания того, как это работает (сохранилась с давних времён):

Here is a description of the unique Acronis Snapshot technology:

Once Acronis True Image initializes the backup process of a volume (which logically corresponds to a single partition, if there are no Dynamic Disks), Acronis Snapshot Manager flushes the file system mounted to that volume temporarily freezing all the operations on the system volume. Immediately thereafter, the Snapshot Manager driver creates a point-in-time view of the system volume and a bitmap describing the used sectors on this volume. Once the bitmap is created, the filter driver unfreezes the I/O operations on the system volume. It generally takes only several seconds to create a point-in-time view of the volume. After that, the operating system continues working as the imaging process is under way.

Acronis True Image reads the sectors on the system volume according to the created bitmap. Once a sector is read, the appropriate bit in the bitmap is reset. In its turn, the Acronis driver continues working to hold the point-in-time view of the system volume. Whenever the driver sees a writing operation directed at the system volume, it checks whether these sectors are already backed-up, if they are not, the driver saves the data to the sectors that will be overwritten to a special buffer created by the software, then it allows the sectors to be overwritten. Acronis True Image backs up the sectors from the special buffer, so that all the sectors of the point-in-time view of the system volume will be backed up intact. Meanwhile, the operating system continues working and the user will not notice anything unusual in the operating system functionality.

магия — это когда произносишь заклинание, и у тебя всё работает, невзирая на физику, логику, и прочий матан и tl;dr, который ты не осилил.

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

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

Если ты про неконсистентность, то там для этого делаются снапшоты перед бэкапом. Юзается драйвер, который перехватывает обращения к файловой системе (собственно поэтому для установки нужен установленный gcc и исходники ядра). Вот копипаста описания того, как это работает (сохранилась с давних времён):

ппц. Упорото, да...

Acronis не магия

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

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

И в чем писец? Давай подробнее.

просто это не работает. Данная схема могла родится только в голове человека, который в этом не разбирается. Что конечно никак не мешает в её реализации за деньги. Такого даже мысы сделать не решилась (или уже?).

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

Прикладной софт делается для пользователей и, соответственно, должен обладать пользовательским интерфейсом. Современным стаднартным пользовательским интерфейсом является GUI(даже если это web-интерфейс).

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

Прикладной софт делается для пользователей

А вот хрен! Прикладной софт делается для решения прикладных задач, т.е. для людей, разбирающихся в вопросе (а не для секретуток каких-нибудь). Там гуй нахрен не нужен! Потому как в командной строке быстрей.

должен обладать пользовательским интерфейсом

CLI — самый идеальный интерфейс. Очень мало задач, в коих нужен гуй. Но там или веб-морда спасает, или OpenGL.

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

Ты идиот. Ты некомпетентен. Не всякий софт для пользователей должен обладать интерфейсом. Не всякий прикладной софт будет софтом «для пользователей».

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

Давно не видел разработку прикладного софта без гуя.

А что ты вообще видел, школолошечко? Почему ты вообще считаешь, что можешь иметь право иметь мнение, если ты настолько некомпетентен, неопытен и в целом туп?!?

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

CLI — самый идеальный интерфейс. Очень мало задач, в коих нужен гуй. Но там или веб-морда спасает, или OpenGL.

Эдик, ты конечно астрофизик авторитетный, но иногда как ляпнешь. Скажи, пожалуйста, веб-морда и OpenGL — это по-твоему не GUI?

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

Скажи, пожалуйста, веб-морда и OpenGL — это по-твоему не GUI?

Ты внимательно читал про

Очень мало задач, в коих нужен гуй

???

Ясен пень, опенГЛь и вебня — гуй. Но нужно оно от силы в одной задаче из десятка!

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

Прикладной софт делается для решения прикладных задач, т.е. для людей, разбирающихся в вопросе

Согласен.

Там гуй нахрен не нужен!

Не согласен.

Потому как в командной строке быстрей.

CLI — самый идеальный интерфейс.

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

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

Ну поделись своими альтернативными определениями.

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

Видел разработку CAD-систем, видел разработку различных софтин для управления железками, видел разработку веб-интерфейсов, разработку игр тоже видел. Разработку прикладного софта без гуи тоже видел, но это было еще под дос, да и то потом заменили на аналогичную тулзу с TUI-интерфейсом...

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

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

Например, в очень многих ситуациях imagemagick удобнее, чем photoshop.

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

Разработку прикладного софта без гуи тоже видел

Да ничего ты не видел, школоло. 80% прикладного софта, которым я пользуюсь, не имеет никакого GUI.

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

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

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

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

Приведу пример задачи, в которой гуйня нафиг не нужна. Предположим, есть у нас FITS-файл со спектром некоего объекта, полученном на эшелльном спектрографе с резателем. Алгоритм получения из этого "нарезанного" спектра одного "цельного" таков: фильтруем шумы, выделяем спектральные порядки, в каждом порядке выделяем три составляющие (резатель смещает пиксели, поэтому на данном этапе это надо будет делать раздельно), аппроксимируем фон, вычитаем фон, аппроксимируем линии порядков, выдираем составляющие порядков со сдвигами, суммируем, получаем конечный спектр.

Все это делается простым пайплайном с CLI, ни на каком этапе гуйня не нужна. Разве что у кого-нибудь возникнет желание посмотреть, что там на промежуточных стадиях получилось. Но это маловероятно.

И таких задач полно. Туда же еще всякие матмодели (результаты вываливаются в текстовые файлы, из которых гнуплотом можно картинки-графики строить). CLI — самый удобный интерфейс для прикладнухи.

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

Всяческие численные методы, немного статистики, подготовка и верстка статей, data mining, и много чего еще. Единственный софт с интерактивным интерфейсом у меня - текстовый редактор и просмотрщик pdf. Остальное только в cli. Всю математику пишу сам, так что все новое, а не столетней давности.

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

Никто и не сомневался, что ты плебей, и весь круг общения у тебя такой же рабоче-крестьянский, со средним IQ ниже 100.

anonymous
()

Язык Си всех нас еще переживет. Знание Си долговечное и надежное.

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

В каких, например? Мои знакомые дизайнеры не знают ничего об imagemagicke.

Я не про дизайнеров, но всякая мелочевка в духе изменить разрешение фотографии, склеить несколько фотографий или разрезать фото на несколько делается проще.

Waterlaz ★★★★★
()

Системный администратор с (!) 4-летним стажем, который не знает никакого языка программирования кроме Турбо Паскаля, не понимает зачем нужно знать несколько языков программирования, собирается писать прикладуху на чистом Си и описывает свою работу цитатами из Википедии? Что-то мне подсказывает, что администрирует уважаемый компьютерный класс у себя в школе, а его бухгалтер - это мама.

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

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