Уведомления

Группа в Telegram: @pythonsu

#1 Июль 20, 2023 22:28:15

sough
Зарегистрирован: 2023-07-18
Сообщения: 20
Репутация: +  -1  -
Профиль  

Python3 слоупок ?..

py.user.next
Bash не везде есть, потому что он не входит в POSIX. Есть системы, и их дофига и больше, в которых нет bash, а есть sh только. Но ты то разницы не знаешь, ни в sh ни в Bash 1, ни в Bash 2. То есть ты напишешь скрипт на Bash, а он где-то на Bash не запустится, потому что он на Bash 2, а там Bash 1.
Ты, серьёзно, думаешь, что я пишу скрипты, на своём пне или дроиде, потом пушу, через гит, на сервера, в слепую?)))
Нет, я пишу их уже на нужном сервере, если там не обобщённый случай. А shell или bash - невелика разница. Что есть, под рукой, на том и пишу, хоть на C, хоть на том же Python. Моя задача - работа серверов и оптимизация последствий phpшного говнокода.
py.user.next
Golang - гугловское говно
Ну, писать такое, когда тебя, даже, задевает шуточное название этой темы (хотя, я даже не оскорблял Python, потому там и стоит знак вопроса)…
Это как с криками:
“Запад загневает, на Руси жить лучше!”
Вот только люди валят на Запад, а не наоборот. Также, и на Go, с Python, а не наоборот.

На счёт табуляций, вообще, не вижу смысла говорить, когда её можно установить даже в nano, на котором ты и написал (чем тебя православные vim или micro не устроили?..).
Кстати, ошибка не из-за табуляции, ошибка из-за открывающей фигурной скобки - Go не любит её спускать.
А написать можно и так:
package main
import “fmt”
func main() {
fmt.Println(“Test”)
}
- будет работать. За это я и предпочитаю скобки отступам.

На счёт Rust - ничего не знаю, возможно, ты прав, в этом.

Отредактировано sough (Июль 20, 2023 22:45:22)

Офлайн

#2 Июль 21, 2023 04:20:49

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9846
Репутация: +  853  -
Профиль   Отправить e-mail  

Python3 слоупок ?..

sough
Нет, я пишу их уже на нужном сервере, если там не обобщённый случай.
Ты мыслишь другими категориями. В твоём понимании скрипт - это что? какая-то шняжка на десять строк? которую написал и забыл? У меня скрипт - это полноценная программа с проектом и версионированием, в которой несколько тысяч строк и несколько десятков функций - это обычное дело. Я уже могу эти функции и строки не считать, потому что я пишу их нормально, изолированно от окружения. Сколько их там, десять или сто, разницы вообще нет для меня. Только имена их заставляют меня дробить эти файлы на пачки файлов, потому что выдумывать разные имена для сотен функций - дело тупое. Я просто не представляю, что можно сделать скриптом на сто строк - буквально ничего. Такие скрипты я за скрипты не считаю, у меня их штук сто на компе. Кто-то следит за почтой России, кто-то следит за реестром недвижимости, кто-то следит за банками, кто-то качает видео с YouTube и Ok.ru в оптимальном качестве (без квадратиков на большом экране, но и по полтора гигабайта один фильм). Мне, знаешь, недавно предложили скачать Аватар Путь Воды, который размером был четырнадцать гигов, я только пальцем у виска покрутил, так как я его уже смотрел и весил он тогда при просмотре на телевизоре с флешки три гигабайта у меня (потому что трёхчасовой он), потому что мой скрипт не будет такое воспринимать, он подыщет вариант поменьше, я его специально так написал. Мне нужно, чтобы на одной флешке помещалось много фильмов сразу, а не один всего лишь. Десять фильмов лучше, чем один.

Ты знаешь, у меня и браузер запускается тоже через один из таких скриптов. Связано это с тем, что на компе надо было поставить WhatsApp, а они клиента для Linux не сделали. Пришлось сделать изолированный браузер для него, отдельный экземпляр с отдельными настройками. Прикол в том, что браузер через шину видит свои экземпляры при запуске и старается запуститься уже на открытом экземпляре. Вот мне и пришлось сделать разветвитель, который логически определяет, как запускать браузер - давать ему запускаться через шину, потому что он один в операционной системе, или же запретить ему запуск через шину, потому что там WhatsApp открыт уже, чтобы он в WhatsApp'ном браузере не запустился, а отрыл новый браузер. Так что пришлось сделать разветвитель такой с настройками ещё, чтобы можно было и WhatsApp в настройки внести, и ещё какие-нибудь сервисы, которые тоже не удосужились клиента для Linux сделать. Так это мелкие скриптики всё. Для тебя они, конечно, - космос. Тебе тяжело будет ковырять шину, ты её не поймёшь просто.

Поэтому какие серверы? Нафиг они упали вообще?

sough
На счёт табуляций, вообще, не вижу смысла говорить, когда её можно установить даже в nano
Установить для чего? Чтобы в какой-то тупости строки не съезжали вправо и потом вообще не переносились на другую строку? А как же другие текстовые файлы, где мне надо, чтобы табуляции были нормального размера? У меня табуляции занимают по восемь пробелов, а отступы в коде занимают по четыре пробела. При этом это всё одновременно читается. Мне не надо только то или только это. Поэтому этот Go идёт на хрен со всей своей тупорылостью.

sough
чем тебя православные vim или micro не устроили?
Нахрена мне эти поделки, если у меня Emacs с YouTube все ролики показывает новые? Я могу также в консоли через ed работать, ты знаешь ed? Ed - это то, из чего vim вырос вообще. Когда мониторов не существовало и вывод текста из файла шёл на бумагу через принтер, придумали вот такой однострочный редактор, чтобы не то что бумагу не тратить, а просто чтобы не ждать, когда оно там выведется, потому что одна строка файла выводилась восемь секунд. Чтобы тысячу строк вывести, надо было ждать восемь тысяч секунд. Прикол в том, что ты никогда не знаешь, куда попадёт твой код, что там будет за сервер, будет ли там Linux вообще или какая-то другая среда, а они бывают очень старые, ещё из прошлого века. И никаких nano там просто нет, даже Bash там может отсутствовать спокойно, потому что он не обязан быть в системе, и установить ничего нельзя. И тогда кроме POSIX ты ни на что не сможешь расчитывать. Ты откроешь vi там, потому что он в POSIX есть, а потом станешь настраивать табуляции, а он тебе скажет “опция неизвестна”. И ты будешь сидеть и читать код через маленькую консольку, который съехал на несколько строк в ней, потому что она маленькая и больше её нельзя сделать.

sough
А написать можно и так:

- будет работать
Оно ошибкой синтаксической считает то, что синтаксической ошибкой не является. Максимум она должна выдать warning про эту скобку и не более того, а не блокировать компиляцию. Когда тебе надо срочно скомпилировать что-то, а какая-то дебильная программа не компилирует что-то из-за того, что авторы что-то там считают на своё усмотрение про стиль кода, причём вообще не в тему, тогда хочется тоже им что-то сломать в ответ. Сломать им сервер их гошный и сказать там, вывесить там картинку “а мне не нравится эмблема ваша, она некрасивая какая-то, поэтому я вам сервер сломал, чтобы её просто не видеть”.

Не знаю, что там сейчас с форматировщиком кода их, но раньше он и четыре пробела в свои дебильные табуляции превращал просто без спроса и отменить это было никак нельзя. А должна быть опция для отмены. Во всех линтерах это всё есть обычно: не хочешь, чтобы он что-то проверял, - просто отключаешь эту проверку и всё, и продолжаешь им пользоваться дальше. А вот это вот “мы считаем, мы думаем” - это всё идёт в жопу в итоге. Там я и видал и этот Go, и этот Kotlin вместе с ним.



Отредактировано py.user.next (Июль 21, 2023 04:28:39)

Офлайн

#3 Июль 21, 2023 12:54:59

sough
Зарегистрирован: 2023-07-18
Сообщения: 20
Репутация: +  -1  -
Профиль  

Python3 слоупок ?..

В общем, да - я не профессиональны программист, о чём я, в принципе, уже упоминал. И, если честно, нет у меня этой романтики красивого кода (в чём я вам, программистам, завидую, отчасти). Мне важно простота, функциональность и бесперебойность.

py.user.next
У меня табуляции занимают по восемь пробелов, а отступы в коде занимают по четыре пробела
Не понял, что имеется ввиду.
Если ставишь в nano 4 пробела на табуляцию - она 4 пробела, 2 табуляции - 8 пробелов. Как может быть табуляция 8 пробелов, если установлено 4?
Вот пример вызова nano с 4-х пробельной табуляцией, нумерацией строк и посследующими автоотступами (для Python удобно):
 nano -ET4 -ci script.py
CTRL+] - автодополнение слов
В умеренных дозах - вполне норм…
py.user.next
Максимум она должна выдать warning про эту скобку и не более того, а не блокировать компиляцию
Зато Go выдаст ошибку, при компиляции, а Python, при невнимательности, затянет её в проект. Это не говоря ещ о плохой поддержке в Python своих же библиотек, при смене версий.

Отредактировано sough (Июль 23, 2023 13:56:59)

Офлайн

#4 Июль 21, 2023 13:48:22

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9846
Репутация: +  853  -
Профиль   Отправить e-mail  

Python3 слоупок ?..

sough
Как может быть табуляция 8 пробелов, если установлено 4?
У меня оно не установлено, поэтому я всегда вижу, где пробелы, а где табуляция в одном и том же файле.
скриншот

sough
Вот пример вызова nano с 4-х пробельной табуляцией, нумерацией строк и посследующими автоотступами (для Python удобно):
У меня программы на Shell используют вставки на питоне, как сишные программы использовали раньше ассемблерные вставки. Если в Linux нет нормального парсера для XML или JSON, зачем изгаляться? я просто вставлю в скрипт питоновский кусок, который это разберёт своими средствами типа lxml или json и после этого просто возьму вывод из этого куска и продолжу на Shell выполнять действия.
  
f()
{
    local x=$1
    local y
 
    y=$(python3 -c '
x = '$x'
print((x * 1+2j) ** 4)
')
    y=${y/\(/}
    y=${y/)/}
    y=${y/j/i}
    echo $y
}
 
f 10
f 15
[guest@localhost ~]$ f()
> {
> local x=$1
> local y
>
> y=$(python3 -c '
> x = '$x'
> print((x * 1+2j) ** 4)
> ')
> y=${y/\(/}
> y=${y/)/}
> y=${y/j/i}
> echo $y
> }
[guest@localhost ~]$
[guest@localhost ~]$ f 10
7616+7680i
[guest@localhost ~]$ f 15
45241+26520i
[guest@localhost ~]$
Естественно, там везде может встретиться и табуляция, и пробелы. И мне везде надо видеть, где и что. Мне не надо всё сводить к четырёхпробельной табуляции. Если мне нужны будут четыре пробела, я сделаю четыре пробела. При этом табуляция останется на восемь пробелов.

sough
Зато Go выдаст ошибку, при компиляции, а Python, при невнимательности, затянет её в проект. Это не говоря ещ о плохой поддержке в Python своих же библиотек, при смене версий.
Для этого всего линтер есть, который можно запускать, а можно не запускать. В Go же какие-то тупари за тебя решают, что тебе писать. Поэтому они все идут на-хер. Это в Google они обязаны всё писать на Go, потому что их заставляют там. А у нас, в свободном мире, мы сами выбираем, на чём нам писать и как нам писать. Поэтому Go со своими советами идёт далеко и надолго. И ему не помогут ни горутины, ни каналы, ни конструкции там всякие умные. Пускай они сами себя убеждают, что фигурная скобка на отдельной строке - это очень грамотно. К счастью, мы в Google не работаем, поэтому и не должны ничего соблюдать для них.



Отредактировано py.user.next (Июль 22, 2023 12:00:16)

Офлайн

#5 Июль 21, 2023 14:12:19

sough
Зарегистрирован: 2023-07-18
Сообщения: 20
Репутация: +  -1  -
Профиль  

Python3 слоупок ?..

py.user.next
У меня оно не установлено, поэтому я всегда вижу, где пробелы, а где табуляция в одном и том же файле.
Так 0 проблем:
Просто, убираем -E, оставляем
 nano -T4 -ci for.py
- табы останутся табами, пробелы - пробелами:
 cat -eT for.py 
for i in range(1, 1000001):$
    print(i)$
else:$
    print('for is complite')$
$
###$
$
^Ifor i in range(1, 1000001):$
^I^Iprint(i)$
^Ielse:$
^I^Iprint('for is complite')$
$
###$
$
^I^Ifor i in range(1, 1000001):$
^I^I^Iprint(i)$
^I^Ielse:$
^I^I^Iprint('for is complite')$
И, всё также, таб = 4 пробела, а не 8 (-T4)

При этом, ALT+P, удобно, их выделяет
 for·i·in·range(1,·1000001):
····print(i)
else:
····print('for·is·complite')
###
»   for·i·in·range(1,·1000001):
»   »   print(i)
»   else:
»   »   print('for·is·complite')
###
»   »   for·i·in·range(1,·1000001):
»   »   »   print(i)
»   »   else:
»   »   »   print('for·is·complite')

Отредактировано sough (Июль 21, 2023 14:25:11)

Офлайн

#6 Июль 21, 2023 14:40:09

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9846
Репутация: +  853  -
Профиль   Отправить e-mail  

Python3 слоупок ?..

sough
Так 0 проблем:
Просто, убираем -E, оставляем
nano -T4 -ci for.py
И табуляции становятся по четыре пробела? А зачем мне это? Мне-то нужно, чтобы они так и оставались по восемь пробелов.

Вот пример, как табуляции выравниваются по колонкам
[guest@localhost ~]$ echo -e "abc1  abc2\ndef1\tdef2\nghi1\tghi2\n\tjkl"
abc1 abc2
def1 def2
ghi1 ghi2
jkl
[guest@localhost ~]$
[guest@localhost ~]$ echo -e "abc1  abc2\ndef1\tdef2\nghi1\tghi2\n\tjkl" | cat -et
abc1 abc2$
def1^Idef2$
ghi1^Ighi2$
^Ijkl$
[guest@localhost ~]$
Как видишь, jkl занимает правильное место, хотя её табуляция занимает восемь пробелов, тогда как табуляции выше занимают по четыре пробела.

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

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



Отредактировано py.user.next (Июль 21, 2023 14:48:51)

Офлайн

#7 Июль 21, 2023 14:57:20

sough
Зарегистрирован: 2023-07-18
Сообщения: 20
Репутация: +  -1  -
Профиль  

Python3 слоупок ?..

py.user.next
А мне это не надо. Мне не надо ничего укорачивать. У меня тонны кода прекраснно себя чувствуют. А на Go я не пишу, ибо мозгов хватило не садиться на него плотно. Я просто заметил в нём все его недостатки сразу, а не ждал у моря погоды, типа попозже исправят всё.
Если так судить, то надо было оставаться всем на Fortran.

Я не евангелист ни GO, ни Python… Мне надо чтобы было удобно и практично, а там, хоть APL в блокноте мастдая - галлактически пофиг.

Офлайн

#8 Июль 21, 2023 15:20:47

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9846
Репутация: +  853  -
Профиль   Отправить e-mail  

Python3 слоупок ?..

Всё просто: мы убираем Go из нашей жизни и проблемы сразу все исчезают. Это вот хороший признак того, что язык говно полное, расхайпованное просто. Не без участия Google. Это же надо было заставить разработчиков опубликовать недоделку! Видно плотно они их за яйца держат там, ибо так перепугаться увольнения, что выкатить полпродукта только, - это говорит о плачевной ситуации у них там с работой.



Офлайн

#9 Июль 21, 2023 15:41:33

sough
Зарегистрирован: 2023-07-18
Сообщения: 20
Репутация: +  -1  -
Профиль  

Python3 слоупок ?..

Кстати, ларавелщикам интересно (ну, мне тоже):
Что скажете про FastApi? Уместно сравнение с Node.js, по функционалу?

Офлайн

#10 Июль 22, 2023 09:35:34

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9846
Репутация: +  853  -
Профиль   Отправить e-mail  

Python3 слоупок ?..

sough
Что скажете про FastApi? Уместно сравнение с Node.js, по функционалу?
Ну разработка быстрее идёт раза в два. Я не знаю ни FastAPI, ни Node.js, ни Laravel, ни PHP. Но разработка на питоне идёт быстрее всех этих вумных языков, потому что о краткости в питоне позаботились заранее, ещё при его создании. Поэтому в питоне нет точек с запятыми в конце операторов, нет фигурных скобок у блоков, нет типов, которые обязательно нужно указывать везде, нет объявлений функций. Поэтому питон подходит для макетирования. На нём можно быстро набросать работающую программу с основным функционалом и рассмотреть её аспекты, подлепить её, но также в нём есть средства для создания полноценной программы, а не только макета.

sough
Кстати, ларавелщикам интересно (ну, мне тоже):
Вот пока ларавельщик будет писать один модуль, питонер это всё уже запустит и будет следующий проект писать. Когда ларавельщик допишет первый модуль, питонер уже запустит второй проект и будет третий проект писать. Вот нравится тебе такой темп работы? такая продуктивность? Ну кому-то нравится и у них ничего не выходит в итоге. Один модуль, который ничего не делает.



Отредактировано py.user.next (Июль 22, 2023 11:54:44)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version