LINUX.ORG.RU

История изменений

Исправление makoven, (текущая версия) :

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

Хороший - это PHP. Ничего не далаешь, а всё есть. Питон с джангой похуже, но тоже ничего. В го вроде как еще не определились кто здесь самый главный фреймворк. Веб-вервер в 5 строк никому даром не сдался

но работа с бинарными данными - это мрак и ужас, теперь надо писать в 10 раз больше

Совсем недавно не имея опыта с питоном переделал проект на тройку. Как оказалось, все не так уж и плохо. Основные правки:

data = '123' # py2 bytestring
data = b'123' # py3 bytestring

data[0] # py2 bytechar slice
data[0:1] # py3 bytechar slice

# bytechar to number
ord(data[0]) # py2
data[0] # py3

# number to bytechar
chr(data[0]) # py2
bytes([data[0]]) # py3

# py2 bytechar iteration
for i in data: # py2
  type(i) # bytechar in py2
#py3 convert number to bytechar
for i in data: # py3
  i = bytes([i])
  type(i)

# integer division (if any)
data[0] / 8 # py2
data[1] // 8 # py3

Исходная версия makoven, :

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

Хороший - это PHP. Ничего не далаешь, а всё есть. Питон с джангой похуже, но тоже ничего. В го вроде как еще не определились кто здесь самый главный фреймворк. Веб-вервер в 5 строк никому даром не сдался

но работа с бинарными данными - это мрак и ужас, теперь надо писать в 10 раз больше

Совсем недавно не имея опыта с питоном переделал проект на тройку. Как оказалось, все не так уж и плохо. Основные правки:

data = '123' # py2 bytestring
data = b'123' # py3 bytestring

data[0] # py2 bytechar slice
data[0:1] # py3 bytechar slice

# bytechar to number
ord(data[0]) # py2
data[0] # py3

# number to bytechar
chr(data[o]) # py2
bytes([data[0]]) # py3

# py2 bytechar iteration
for i in data: # py2
  type(i) # bytechar in py2
#py3 convert number to bytechar
for i in data: # py3
  i = bytes([i])
  type(i)

# integer division (if any)
data[0] / 8 # py2
data[1] // 8 # py3