Системна администрация & език за програмиране
Здравейте! Интересно ми е да чуя Вашето мнение за това кои езици за програмиране биха били подходящи/полезни за човек решил да се занимава със системна администрация. Тук, разбира се, изключвам езици като: Perl, Phyton, Ruby и др. от този род, тъй като е ясно, че трябва поне един от тях да се владее на много добро ниво. Въпросът ми е насочен по скоро към езици като C, Java, C#, C++ и т.н.
Интересуват ме както за системната администрация под Windows, така и под Linux. :)
За Линукс - C , (C++), python, bash script
За Уиндоус - Powershell се сещам за момента .За Линукс и Unix има огромен избор .Bash e най-често използвания шел и е задължително да се познава .Други по използвани шелове са c-shell в BSD и Корн шел(HP-Ux)
За програмните езици - най често се използват Пайтън ,Perl Sed и Awk .Добре е ,но не задължително да се знае и C na основно ниво,тъй като 98 процента от Unix е писан на C.
По добре се насочи към някой интерпретируем език ,понеже на тях се пише по-бързо и са по-лсни за научаване.Няма много смисъл да се гърчиш с Джава .
Лично съм фен на Python защото не позволява неидентиран код лесно четим е и лесно се пише на него и няма толкова писане на скоби .Разгледай синтаксиса им и основни правила и виж кой ще ти допадне най-много .Също така Пайтън има версии 2.x и 3.x като разликата между тях е много голяма.Ако ти допадне Питона ,по-добре се ориентирай към 3.0 , понеже е по широко използван.
Супер, благодаря ти за отговора. Бях се насочила към Java, но след като се поразтършувах малко се оказа, че за линукс администрацията /моята насока/ за предпочитане е Phyton, следван от Perl/C ++, Java и всъщност не успях да разбера къде се нарежда C....Но пък сега ти ми даваш отговор, знам че UNIX и Linux са писани на C, но в практиката ти като системен администратор къде точно и в каква насока може да намери приложение C ? С какво може да те улесни?
За ежедневни работа ти е необходим bash, като напреднеш с автоматизацията - python, и като решиш , че вече може да пишеш модули или собствени версии на дълбоко в ядрото - C.
C ти е небходим ако искаш да разбереш по добре Юникс /Линукс на ниво кърнъл,и ако искаш да човъркаш кърнла.Ако ще ставаш Линукс гуру или кернел дивелопър няма как да минеш без С .За сисадмин не е необходимо чак толкова много , но знаенето на С е предимство . Ако искаш да се занимаваш сериозно и с програмиране C ще ти даде добър старт .Много от езиците от високо равнище като Пайтън и Джава ,са взаимствали от C .Ако научиш добре C,няма да имаш проблеми с който и да е друг език .Освен това ще ти даде и добра основа как работят операционните системи.
Както ще се повторя за сисадмин - най-добре скриптов език .По лесно и бързо за писане , изпълнява се кода на момента - не губиш време за компилиране.
"Ако научиш добре C,няма да имаш проблеми с който и да е друг език .Освен това ще ти даде и добра основа как работят операционните системи." Има ли значение поредността при научаване на езиците - 1.Phyton 2.C или 1.C 2.Phyton?
Ако сега правиш първи стъпки - започни с Python (Наричан още "Смоко" ) - далеч по-лесен е.Ако пък много ти се отдава и имаш време и търпение научи С - след това другите ще ти се виждат лесни (изключвам тези със странен синтаксис). В крайна сметка всеки решава за себе си.
Успех !
Супер, много ви благодаря за отговорите! Имам само още един въпрос относно базата данни. Знам, че за предпочитане е MySql, но необходимо ли е да се знаят и други?
Да, добре е да знаеш поне една "NoSQL" примерно MongoDB (MySQL и сродните и, са от ерата на въртящите се дискове(HDD) a те са отживелица.Бъдещето е във флаш паметите(SSD))
Ясно, но като хвърля един бърз поглед на обявите за работа и почти навсякъде искат Sql, MySql, MS Sql или подобни. Почти не срещам Mongodb или дори да го има на някои места, то е в съотношение 1 към 6. Може би сега навлиза?
Прехода към новите носители няма да стане за година-две, а наследения код ще се поддържа доста повече време. Затова според мен още дълго ще се поддържат SQL базите в сегашния им вид(те самите търпят развитие също така).
90 процента от използваните бази данни са релационни .Ако научиш принципа им с някоя - например MariaDB(Open source fork на MySQl )няма да имаш особено големи трудности с други като Оракъл или Постгре.В съвременния свят базите данни имат огромно приложение - било то онлайн магазини или гейм сървъри .Немислимо е в съзременния свят да не знаеш езика за зявки SQl .Той се учи сравнително бързо .Като го научиш може да научиш и някой от диалектите като PL/SQL на Оракъл .Най-лесно можеш да започнеш с SQLite ,понеже не изисква инсталация и настройка на сървър .Дори Скайп на Майкрософт използва SQLite .
No/SQl - Not only sql са по-скоро екзотика .Разбира се че колкото повече технологии знаеш е във твой плюс , но статистиката показва че най-масово разпространени са релaционните бази данни .Дори Обектно-ориентираните бази данни не успяха да ги изместят .Знаейки по-екзотични технологии ще ти е по трудно да намериш работа , но понеже такива специалисти са рядкост ,ще е най-вероятно и по-добре платена.
В такъв случай ще е най-добре стандартна база данни + "екзотична" например MySql/Sql + MongoDB. Благодаря ви още веднъж за отговорите много ми помогнахте. :)