LINUX.ORG.RU

Немного мыслей про bash, какой-то он не очень

 ,


0

1

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

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

Флажки (-lt, -gt и т.д.) работают только для чисел, а знаки (>, < и т.д.) только для строк- ну кто придумал эту тупость? Зачем придумывать дублирующий функционал (вот эти флажки), а потом намерено делать так, чтобы одно работало только с числами, а другое только со строками?

И много еще такой фигни в баше?)


Bash только для простых вещей, а вовсе не для серьезного программирования. Хочешь учиться программировать - воозьми язык, для которого наибольшее число вакансий.

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

bash - это ЯП?

Скриптовой язык.

Цели создания bash (его функции)?

Возможно интегрировать программы на других языках в линуксе, чтобы они друг с другом обменивались данными и в итоге получилось что-то крутое)

Известные тебе ЯП могут полноценно выполнять функцию shell-а?

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

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

bash - это ЯП?

Скриптовой язык.

Лол. Чушь полная.

Цели создания bash (его функции)?

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

Лол. Чушь полная.

Известные тебе ЯП могут полноценно выполнять функцию shell-а?

просто сказал что синтаксис баша на первый взгляд очень сложный

Лол. Чушь полная.

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

Выбирай между C, Go и Python в зависимости от своих целей.

А интересно было бы услышать про Go, про него ничего не знаю. Слышал что Java это больше про сложное корпоративное ПО, а мне интересно что-то прикладное, ближе к десктопу. В свое время Си показался через чур сложным, изучал по учебнику, но на середине забросил из-за большого количества накопившихся непоняток, зашел в такие дебри что надолго отбил интерес. Слышал что Java еще сложнее. А про питон слышал что самый легкий, и если его не осилишь, то можно с программированием завязывать))

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

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

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

Захотелось изучить программирование, просто ради интереса. Посоветовали bash, потому что несложный

Передай этому человеку что его шутка удалась.

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

Да ладно тебе, че сразу так категорично? Хочу начать с малого. У меня уже был опыт облома с Си, так больно что надолго отбило желание, авось с башем что получится, ну.

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

По сравнению с тем же питоном и Си

Сравнил хрен с пальцем.

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

Хочу начать с малого

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

zvezdochiot

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

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

Fixed: Одно дело изучать ЯП и совсем другое - ЯП.

zvezdochiot

anonymous
()

Захотелось изучить программирование, просто ради интереса.
bash

Здесь можно и закончить.

Не читал тред, но уверен что многие уже порекомендовали python или pascal для изучения программирования - они правы.

Наверняка есть и те, кто рекомендовал Си, но с Си лучше не начинать.

bash очень специфичный. Он не заточен под написание больших програм. Он для скриптов автоматизации.

Это я тебе говорю как один и самых ярых адептов bash'а. Я его люблю и использую часто. Просто под каждую задачу - свой инструмент.

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

Основа программирования - математика

Хватит уже трансливать это миф.

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

Это исторически так сложилось, то изначально информатикой занимались математики. Но сейчас это уже совершенно разные области.

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

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

А в gnumeric нет никаких «зубрежки теорем, аксиом, лимитов и матриц». Контекст то ты выкинул. Правда?

zvezdochiot

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

Python сложнее C, но на нём несравнимо легче писать, так же и с Java. Go в целом такой же как C, но писать гораздо легче. Не понятно что именно ты хочешь узнать и что собираешься писать, но Python всегда будет проще, а на Java и смотреть не стоит, ибо её применение пошло на убыль.

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

Наверняка есть и те, кто рекомендовал Си, но с Си лучше не начинать.

Я начинал с Си, это не было моим выбором, так получилось, и Си является моим основным инструментом, но начинать с Си я бы не рекомендовал.

Собственно, я и не совсем программист, больше девопс. Есть более-менее масштабные проекты на Си, но всё-таки я не программист.

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

А интересно было бы услышать про Go, про него ничего не знаю. Слышал что Java это больше про сложное корпоративное ПО, а мне интересно что-то прикладное, ближе к десктопу. В свое время Си показался через чур сложным, изучал по учебнику, но на середине забросил из-за большого количества накопившихся непоняток, зашел в такие дебри что надолго отбил интерес. Слышал что Java еще сложнее. А про питон слышал что самый легкий, и если его не осилишь, то можно с программированием завязывать))

Нужно начинать с Python или Pascal

Я бы рекомендовал Pascal, так как там типы, указатели и т. п - то, чего в python нет, и что дает хорошее понимание о настоящем программировании.

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

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

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

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

А в gnumeric нет никаких «зубрежки теорем, аксиом, лимитов и матриц». Контекст то ты выкинул. Правда?

Я выкинул gnumeric, потому я не знаю ни одного человека, который бы с него начинал учиться программированию. А программеров я знаю много. А значит - не best practice.

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

Си является моим основным инструментом, но начинать с Си я бы не рекомендовал.

Да, именно так.
Си в любом случае нужно учить, но не начинать с него.

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

Начинать лучше с жаваскрипта, странно что про него забыли. Тут тебе и шелл, и десктоп, и браузер, всё в 1 флаконе. Очень многие начинали с него.

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

А значит - не best practice.

Ладно. Хотите «по-жёстче»? Пожайлуста: https://www.gnu.org/software/octave/ и https://cran.r-project.org/. Порядок освоения не важен. Освоите и https://www.python.org/ осваивать станет гораздо легче. А там ужо и Си.

zvezdochiot

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

Начинать лучше с жаваскрипта
Очень многие начинали с него.

+

Всё-таки BASIC сначала был, но львиная доля правды есть!

zvezdochiot

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

Начинать лучше с жаваскрипта

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

Даже basic / VB - и то лучше.

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

Ладно. Хотите «по-жёстче»? Пожайлуста: https://www.gnu.org/software/octave/ и https://cran.r-project.org/. Порядок освоения не важен. Освоите и https://www.python.org/ осваивать станет гораздо легче. А там ужо и Си.

Зачем всё это? Можно просто начать с Python или Pascal.

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

У меня в школе что-то типа кубейсика было. Потом много позже меня пару часов учили vb6, дома я применил эти знания чтобы писать на дотнете, проблем не было, однако не очень интересно. До этого самостоятельно изучал js чтобы в браузере динамический контент делать и питон чтобы прикладные задачи решать. И php3 потому что модно, а трафик дорогой и неплохо бы его экономить хоть как-то. Баш был много лет спустя, после си даже наверно.

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

У меня в школе что-то типа кубейсика было

+

Да по-моему у всех было.

изучал js чтобы в браузере динамический контент делать

+

Аналогично.

zvezdochiot

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

Это всё мифы, жс зато полезен как никогда

Он полезен только если хочешь связать свою карьеру с сайтостроением. Что я не рекомендовал бы, так как там и так конкуренция огромная, много не заработаешь. И потому, что в сайтостроении альтернатив JS по сути нет.

Во всех остальных случаях я бы рекомендовал держаться от него подальше, ибо язык ужасен, мозг может сломать навсегда, практического применения почти нет (повторюсь - кроме WEB). А если уж жизнь столкнет с ним, то, если знаешь Си или Java, JavaScript можно освоить за 30 минут (по личному опыту говорю).

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

по личному опыту говорю

А ты «упоротый», только не понятно на чём: на Сях или пистоне? Если нужда возникнет, по какому из пунктов стоит тебя кастовать?

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

И что? Речь-то явно шла о замене баша в скриптах, так вот в скриптах я его и заменил. А что командным шеллом продолжаю пользоваться, ну так и что.

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

Лишь бы не пачкаль, тот навсегда сломает мозг
сломает

Никогда не видел столько ошибок в словосочетании «правильно настроит».

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

Гейдев и десктопные приложения самого разного толка, сейчас как раз тренд такой что даже у меня с пару десятков используемых приложений на qtwebkit/электроне наберётся. Просто потому что они на порядки лучше аналогов на плюсах и прочих дотнетах.

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

И что?

А то, что ты пользуешь bash по прямому его назначению. И здесь всё правильно. Но есть любители «горбатого лепить», а потом ныть, что bash нифига не ЯП. Так он и не ЯП, хрен ли они горбатого лепят.

zvezdochiot

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

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

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

Автор темы свернул не туда :-) Там его ждёт ад и демоны https://habr.com/ru/company/mailru/blog/311762/

Добавил в избранное, буду заглядывать по мере продвижения)

Там кстати интересная дискуссия в каментах завязалась.

По моему bash это вообще одна сплошная ошибка. Неужели в линукс сообществе до сих пор нет попыток прикрутить вместо этого ископаемого монстра нормальный современный интерпретируемый язык программирования?

linux свободен. Любой пользователь может снести bash и поставить туда собственный myNewBash. Собсно, как и было с zsh, csh и так далее, семейства их. Но не прижилось. Вот тут уже интересно подумать почему.

Вот и правда интересно, почему? Просто баш достаточно хорош и всех устраивает? Или никто не хочет перемен, чего-то попроще, переучиваться лень?

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

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

Не трать своё время. Bash скоро уйдёт в небытие и твои знания останутся мёртвым грузом.

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

Человек, не знающий ни одного языка программирования рассуждает о «красивости» синтаксиса?

Pyzia ★★★★★
()
Ответ на: комментарий от ya-betmen

Я понимаю когда в пару с питоном ставят жабоскрипт, но паскаль?

Паскаль был специально создан для обучения. Он достаточно прост, но содержит основные концепты - типизацию, процедуры/функции, ООП, указатели, модульность и т. п. И при этом на нем можно писать вполне серьезные вещи: всеми любимый Total Commander написан на Паскале.

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

JavaScript в корне не подходит для обучения. ООП в JavaScript организовано по-наркомански. Начинающие с JavaScript совершенно не понимают типизацию и принципы работы с памятью. Также JS в основном используется в WEB-клиентах, а там всё построено на события, ввод/вывод и многозадачность организованы специфично - ну совсем не для обучения.

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

JavaScript ... ну совсем не для обучения.

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

zvezdochiot

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

Чего ты как полоумный кастуешь этого несчастного звездочёта? Это что, какой-то местный бог баша, который щас придёт и кааааак расскажет всем?

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