LINUX.ORG.RU
ФорумTalks

PHP вместо Bash, отговорите

 , , ,


1

3

Иногда хочется полноценного скриптования. О проблемах шеллов в линуксах я уже писал. Я долго искал, на что можно заменить Bash. Питон оказался слишком жирным. Perl оказался слишком древнее говно. Не на сишке же скрипты писать, да?

Внезапно, PHP оказался здесь как нельзя кстати. Язык - чистейшая скриптуха, но имеет всё нужное (массивы, строки, функции, можно вызывать внешние бинарники, есть интеграция с curl). Скрипты можно выполнять в терминале. И, внезапно, пых оказался не таким уж и жирным. Проверено кучей говноЦМСок! Нет, ну правда, PHP способен перемалывать тонны говнокода, не втаптывая оперативку в асфальт.

Теперь и правда думаю выбрать его для повседневной скриптухи. Дискасс.

Tcl уже не в моде?

urxvt ★★★★★
()

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

минуточку!

люди далёкие от мира программирования? ПИШУТ КОД???

и за это ругают пых? за низкий порог вхождения? за то, что ПИСАТЬ КОД МОЖЕТ КАЖДЫЙ???

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

спасибо пыху за отсутствие строгой типизации. что вместо ошибок в консоли, что видите-ли, нельзя сравнивать 0, ", false и null, пхп позволяет это делать.

но а дальше всё зависит только от программиста.

то есть, извините, но если вы весь такой дофига умный программист, дак берите и пишите нормальный код на пыхе. что вам мешает? не сравнивайте false и 0.

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

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

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

ноудискасс. бери пых и пиши.

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

Да не то что бы мне прям что-то крутое от пыха нужно. Но я понимаю твой бомбёж.

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

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

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

Вот кстати да. Там где у Python на любой случай будет вполне качественная батарейка, экономящая уйму времени – у PHP будет уродливый самописный write once костыль.

EXL ★★★★★
()

Если нужны именно скрипты, но сложнее чем запуск нескольких программ по очереди с иногда простыми if-ами - то пхп лучше всего подходит, да. Хотя я и на си такое делал.

И да, «вместо баша» - если возникают желания использовать non-posix фичи баша (т.е. то чего нет в /bin/sh), то однозначно надо переходить.

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

Не всё ли равно, что «не осиливать»? Или наоборот, не все ли равно что «осиливать»?

пых оказался не таким уж и жирным. Проверено кучей говноЦМСок!
Проверено кучей говноЦМСок!
ЦМСок!

не жирно... вы явно что-то что-то путаете.

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

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

Играет, разумеется. У всех скриптоязыков оверхед. Когда я писал вычислительную математическую прогу на пхп (быстрее разрабатывать) а затем сконвертировал итоговый код в си - стало работать не то в 10 не то в 100 раз быстрее (точно не помню).

firkax ★★★★★
()

Не на сишке же скрипты писать, да?

чойта?

#if 0  // -- build and run wrapper script for C++ ------------------------------
TMP=$(mktemp -d)
c++ -o ${TMP}/a.out ${0} && ${TMP}/a.out ${@:1} ; RV=${?}
rm -rf ${TMP}
exit ${RV}
#endif // ----------------------------------------------------------------------

#include <iostream>

int main(int argc, char *argv[])
{
  std::cout << "Hello world" << std::endl;
  return 0;
}
olelookoe ★★★
()
Ответ на: комментарий от olelookoe
#!/usr/local/bin/tcc какие-то флаги

а ещё у меня есть такой скрипт ~/bin/c:

#!/bin/sh -e

IN="$1"
OUT=".c.$1"
WARNOPTS="-Wreturn-type -Wpointer-sign -Wsign-compare -Wshadow -Wpointer-arith -Wimplicit -Werror"
shift 
gcc $WARNOPTS -lm -o "$OUT" "$IN"
"./$OUT" "$@"
rm "$OUT"

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

А я говорил)

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

У меня на нем писаны даже драйверы, коннектящиеся через i2c\spi\uart.

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

А главное, нету геморра с отступами :))

windows10 ★★★★★
()

Почему собсно нет? Лично мне лень и неудобно кликать мышой в админках всяких опенкартов, просто по быстрому пишу мелкий скрипт на пыхе и выполняю в консоли. Правда я потом всё же переехал на скрипты в пайтоне. Бывает забавно смотреть, как питоновый скрипт отрабатывает по цмске, работающей в пхп. Мне пайтон както зашел совсем хорошо. Лаконичней.

scard
()

Если он тебя в этой роли всем устраивает, то почему бы и нет?

theNamelessOne ★★★★★
()

можно уже делать архив подобных тем…somelang вместо sh

по иронии судьбы в качестве somelang в основном php. Возможно неосиляторство шела это их профессиональное :-)

а кроме шуток - у шел скриптов несколько отличное назначение от универсальной «скриптухи». Потому они и есть - другие

MKuznetsov ★★★★★
()

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

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

С батарейками опять же всё нормально. А если вдруг захочется гуй - есть замечательные биндинги к tk и gtk.

Clayman ★★
()

Не, пчел, идея говно.

  • Python есть считай по-умолчанию в каждой системе и является стандартом де-факто для скриптоты в gnu/linux. Пых надо ставить.
  • У питона есть интроспекция, это когда прямо в репл консольке можно дернуть описание метода, у пыха это доступно в IDE
  • У питона есть venv, у пыха его нет и однажды ты познаешь боль от этого. И в целом установка модулей у змеюки как-то менее геморно происходит(речь не про то что в репах, оно там обычно говно мамонта), а про то чего нет в репах или оно не той версии.

И если честно, я не особо понимаю, что ты там такого скриптовать решил. Ну ладно бы сказал, что хочешь его на роутер с 256мб памяти поставить для автоматизации какой-то, ну можно что-то там подумать про память. А так, скриптоязык для себя(подразумеваю десктоп/ноут), да хоть на erlang скриптуй

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

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

untitl3d
()

Вставлю свои пять копеек.

Фланаган считает что node.js убила баш. Прочитал об этом в его книге носорога.

Еще видел как используют для этого Ruby, тоже вроде кого-то устраивает.

P.S. Сам вместо баша (когда не хватает знаний его ключей и не охота их гуглить) использую nodejs.

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

два чаю, сколько говна написано на js эт шок.

У маководов половина в brew на руби написано

ggrn ★★★★★
()

PHP вполне можно использовать для скриптов. Сам так делал много лет.

Правда, после Python написание кода на PHP оставляет странные ощущения в пальцах. Видимо, из-за необходимости использовать $ и точки с запятой в конце строк. Я так и не понял. Что странно, при написании кода на Си или Си++ таких ощущений нет, хотя там те же фигурные скобки и точки с запятой. Возможно, всё дело в знаках $.

i-rinat ★★★★★
()

А что не жабаскрипт. как в оффтопике? Онтопик позволяет такое?

xwicked ★★☆
()

отговорите

PHP - говно. /thread

pr849
()

Да пофиг на чём скриптовать, лишь бы были нужные библиотеки. Вот если понадобится переносимость — тогда стоит задуматься.

Мне пыха ненавистна наркоманскими $ -> и процедурщиной. Нужно по-прежнему наизусть помнить 100500 функций для работы со строками, вместо вызова методов объекта как в других языках?

InterVi ★★★★★
()

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

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

Видимо пользователи node.js в количестве, близком к 100%, не используют баш.

agentgoblin
()

PHP это буквально лучший выбор для скриптоты, только если речь о версии >=7.4

очень быстрый

хороший пакетный менеджер

зрелый набор фич и куча крупных пакетов буквально под все задачи

альтернатива это жирный питухон, ну js(ts) но это если твои ценности не достаточно скрепны и хочется причину купить новый стул целиком из железа.

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

Беллард забросил же его, нет?

Не знаю, но если он его доделал то уже не надо ничего дальше дорабатывать.

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

Алё, а батарейки

Во-первых в пыхе много чего есть из коробки для повседневной скриптухи. Во-вторых composer никто не отменял.

no-such-file ★★★★★
()
Ответ на: комментарий от Spoofing

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

Играет. Например, в Паскале(без объектов) программу можно гораздо нагляднее заструктурировать. Есть, наверное, и более строгие языки. Но расплачиваться придётся гибкостью. Т.е., программа будет представлять собой хороший код, но очень куцый функционал. И этот функционал, парадоксальным образом, будет требовать гораздо больше строчек кода, чем язык общего назначения.

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

могу придти. но это вопрос будет не ко мне, а к тем, кто меня туда допустит.

везде есть (должны быть?) регулирующие надзорные органы.

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

я хочу писать говнокод на локалхосте и пишу — и кто мне запретит?

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

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

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