LINUX.ORG.RU
ФорумTalks

Писать прикладные скрипты на PHP — это извращение?


0

1

Время от времени встречаю такую фигню: кто-то использует локальный веб-сервер с php-cgi для того, чтобы выполнить задачу, которая никак не связана с веб-программированием, например раскидать файлы по директориям, переконвертировать логи в другой формат и тд, а запускает их заходя по URL типа http://localhost/script.php .

Зачем так делать? Это нормально или стоит тем, кто так делает, посоветовать изучить какой-нибудь другой язык кроме PHP?

★★★★★

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

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

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

А откуда ты знаешь, что не будет, если ты не программист?

Оттуда. Давай пример скрипта, на котором питон или тикль значительно уделают пхп по скорости.

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

Никто не мучается, кроме твоего нудящего зада.

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

Оттуда. Давай пример скрипта, на котором питон или тикль значительно уделают пхп по скорости.

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

Или вот напиши на нём решето Эратосфена например.

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

Ты лучше сам покажи какой-нибудь скрипт на PHP, написанный тобой

Нет, это личное.

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

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

А чего у тебя так бомбит то? Какая тебе разница, кто на чем себе скрипты пишет?

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

Так с ним и не мучаются, он просто работает.

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

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

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

А что сложного в том, чтобы изучить ещё один язык программирования? На базовом уровне это делается за полдня — как раз время написания типичного не слишком простого скрипта.

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

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

ЗАЧЕМ? У меня есть масса более интересных занятий. Повторюсь, все равно ты упрешься не в производительность языка.

На базовом уровне это делается за полдня

Бред собачий, за полдня ты только синтаксис запомнишь (но не привыкнешь). О переносе кучи своих функций, используемых в php, я вообще молчу.

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

Где взаимосвязь? Я не хочу показывать потому что и сам знаю что мой код ужасен. Но причем тут мучения с пхп?

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

Представляешь для не программиста изучить новый язык не так легко как тебе кажется, и главное ЗАЧЕМ?

stels ★★★
()
Ответ на: комментарий от Xenius
<?php

require_once '../../_core/config.php';

$good_user = db_abon::get_wifi_enabled_users();

$good_login_string = '';
foreach ($good_user as $u) {
    $ip = $u['ip'];
    $ip = explode('.', $ip);
    $login = 'u-'.$ip[2].'-'.$ip[3];
    $pass = $u['password'];
    $up_speed = $u['up_speed'] / 1000 ;
    $down_speed = $u['down_speed'] / 1000 ;
    $good_login_string .= $login."\t".'*'."\t".$pass."\t".'*'."\t".$down_speed.'/'.$up_speed."\n";
    
}

print($good_login_string);

?>


вот тебе пример кода. Генерю по крону /etc/ppp/chap-secret для accel-ppp

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

Я не хочу показывать потому что и сам знаю что мой код ужасен. Но причем тут мучения с пхп?

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

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

Дай определение «не программиста». У меня вот подозрение, что «не программист» в принципе не может написать хоть какой-то код, даже на PHP. А насчёт «не так легко» — ну если они хоть один изучили, значит и ещё один смогут, разве нет?

и главное ЗАЧЕМ?

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

Ну и языки разные бывают. Какой-нибудь C++ ты можешь годами изучать и так и не знать всех его фич, а Tcl со всеми основными командами и тонкостями можно изучить за неделю, а на уровне, достаточном для написания небольших скриптов — за несколько часов.

вот тебе пример кода. Генерю по крону /etc/ppp/chap-secret для accel-ppp

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

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

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

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

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

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

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

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

Конкретно это — да, что-то другое — не обязательно.

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

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

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

Ну так работа состоит из конкретных задач которые надо решать

Ты привёл в пример только одну задачу с тривиальным кодом. Это нерепрезентативно.

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

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

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

не смотря на твою ненависть к пхп.

Да ладно, где ты там ненависть увидел? Вот если бы ты это делал на VBA, запуская это под wine...

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

Ты весь тред пытаешься доказать что пхп убог

Вообще, я просто прочитал эту статью. И статью-ответ на эту статью тоже прочитал. Сам я PHP знаю только на уровне базового синтаксиса.

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

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

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

чем PHP лучше

обширными батарейками и привычным синтаксисом

нормальных

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

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

обширными батарейками и привычным синтаксисом

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

список в студию

Ну скажем fasm, C (но это для низкоуровнего или если нужна скорость), Tcl, Lua, J, APL, OCaml, Coq

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

Ну ладно, Python и Haskell упоминать не буду, хотя не вижу ничего ужасного в отступах пробелами. Ты же их всё равно ставишь, когда пишешь код (ну я надеюсь)

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

батарейками сейчас никого не удивишь

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

а кому какой синтаксис привычней — это к языку не относится

ты спросил про смысл писать скрипты на РНР - я тебе ответил.

fasm, C

мы тут вроде о скриптах говорим

Lua

нет классов/объектов

Tcl

не вижу преимуществ

J, APL, OCaml, Coq

не тыкал, не могу ничего не ответить

Ты же их всё равно ставишь

1) я ставлю табы 2) как бы я не отформатировал код - на его работоспособности это не отобразится

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

1) я ставлю табы

Питон не запрещает выравнивать табами, если ты их не мешать с пробелами.

2) как бы я не отформатировал код - на его работоспособности это не отобразится

Это не обязательно хорошо

не вижу преимуществ

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

нет классов/объектов

http://www.lua.org/pil/16.html

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

Это python-way видимо, не включать в базовый язык то, что не обязательно к использованию.
А что такого сложного в том, что бы написать пару импортов?

В C кстати ты без #include <stdio.h> тоже ничего не напишешь

Xenius ★★★★★
() автор топика
Последнее исправление: Xenius (всего исправлений: 2)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.