Что за хрень эти указатели? оп разработчиков Хватит писать на псевдокоде О ЯЬУ7 Пособие «1 шст / it-юмор :: geek (Прикольные гаджеты. Научный, инженерный и айтишный юмор)

it-юмор geek 
Что за хрень эти указатели?
оп
разработчиков
Хватит писать на псевдокоде
О ЯЬУ7
Пособие «1 шстоя щего » раз работ ч и ка,it-юмор,geek,Прикольные гаджеты. Научный, инженерный и  айтишный юмор
Подробнее
Что за хрень эти указатели? оп разработчиков Хватит писать на псевдокоде О ЯЬУ7 Пособие «1 шстоя щего » раз работ ч и ка
it-юмор,geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор
Еще на тему
Развернуть
надо было сразу "С++ для html-верстальщиков" писать
fokk fokk 11.02.201922:35 ответить ссылка -1.4
Какой смысл тогда имеет надпись "Хватит писать на псевдокоде"? Лишь бы пошуть про HTML, хоть и невпопад...
HTML разве не язык разметки - хуле о нем шутить ?
Вот и я о том
А если спрыгнул с плюсов на питона?
medelect medelect 11.02.201922:47 ответить ссылка 0.4
In [1]: import numpy as np
In [2]: a « np.array(l)
In [3]: b « a
In [4]: b - b+1
In [5]: print(a, b)
1 2
In [6]: a * np.array(l)
In [7]: b « a
In [8]: b +« 1
In [9]: print(a, b)
2 2
voiza voiza 12.02.201900:03 ответить ссылка 1.3
Это нумпи, он не дефолт для питона. У него ОЧЕНЬ интересно работают матрицы и аррэи.
Это он при каждом a = np.array(1) суммирует его с предыдущим? Если сейчас дописать туда

In [10]: a = np.array(2)

то a станет равна 4?
Я вообще не эксперт в этом, но видимо разница в "b=b+1" и "b+=1".
"b=b+1" и "b+=1" - два варианта одной и той же записи, работают они одинаково
alian alian 12.02.201913:12 ответить ссылка 0.0
теоретически могут возвращать разное, например значение b до операции или после.
Нифига. В первом случае выполняется метод __add__, а во втором __iadd__. Вот где-то там в нумпае видимо и зарыта разница.
reaj reaj 12.02.201915:55 ответить ссылка 0.2
А, не немного по другому. В первом случае мы присваиваем тому же идентификатору новый объект, а во втором мы редактируем объект на месте. Это работает со всеми мутабильными объёктами.

Так что любой язык надо знать хочь чуть-чуть поглубже, чем a=b, а в Плюсах таких тонкостей в мильён раз больше.
reaj reaj 12.02.201916:16 ответить ссылка 0.2
А вот кстати да, я был неправ. Действительно во втором случае мы редактируем объект на месте. Однако переменная "а" при этом не должна была измениться, видимо вот тут особенность numpy и зарыта - переменная становится типа обратнозависима или как-то так (я откровенно плох в программировании)
alian alian 13.02.201909:20 ответить ссылка 0.0
Да нет же. В обоих случаях сначала и имени a, и имени b присваивается один и тот же объект в памяти, но потом, в первом случает перед операцией сложения в памяти создаётся новый объект и уже потом снова присваивается имени b, а во втором случае происходит модификация объекта в памяти на прямую.
Опять же, это свойство мутабельных объектов, а немутабельные в обоих случаях ведут себя одинаково ожидаемо.
Например list — мутабельный, как и array в numpy:
>>> a = [1]
>>> b = a
>>> b = b + [1]
>>> print(a, b)
[1] [1, 1]
>>> a = [1]
>>> b = a
>>> b += [1]
>>> print(a, b)
[1, 1] [1, 1]

а tuple — немутабельный:
>>> a = (1,)
>>> b = a
>>> b = b + (1,)
>>> print(a, b)
(1,) (1, 1)
>>> a = (1,)
>>> b = a
>>> b += (1,)
>>> print(a, b)
(1,) (1, 1)

В Питоне нет переменных как таковых, в питоне все идентификаторы — это ссылки на объект в памяти.
reaj reaj 13.02.201915:44 ответить ссылка 0.2
Вот не знал этого. Я питон знаю на уровне "написать алгоритм расчета чтобы не пересчитывать вручную по десять раз". Когда формул очень много, питон удобнее excel, а для многократных расчетов он удобнее чем маткад.
alian alian 13.02.201916:08 ответить ссылка 0.0
Я просто оставлю это здесь...
C:\python33\python.exe "C:\Program Files\JetBrains\F Python 3.3.3 (v3.3.3:c3896275c0f6, Nov 18 2013, 21:1 U»> import numpy as np ^	a = np.array(1)
a
array(1)
type(a)
«3 <class 'numpy.ndarray'>
Of	id(a)
£< 70808720
H»>
id(b)
70808720
c = b + 1 id (c)
67999928 b += 1 id (b)
70808720
чуть добавлю
пусть вас, конструкция b = b + 1 не вводит в заблуждение
в следующей строке "а" инициализируется заново
а суть всего лишь в немного не типично перегрузке оператора "+"
в ходе как было сказано выше объект класса арей ведёт себя как иммютбл тоесть как строка при любой сибуации изменения возвращает новый объект
и ровно противоположное при простом аналоге инкремента, то есть перегружено так что оператор имеет возможность изменить объект.
И как всем понячятно когда а и b во втором случае сравниваются то по факту єто один и тот же объект и b по факту ссілается на "а".
с контейнерами-то понятно всё.
беда в том, что у нампая (а = а+б) не тождественно (а += б), хотя по логике должно было бы.
voiza voiza 16.04.201901:12 ответить ссылка 0.0
Давайте ещё на ассемблере писать.

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

Но нет же, тогда же нельзя будет гордиться, как ты героически жрёшь кактус.
Leznz Leznz 12.02.201913:55 ответить ссылка 0.0
даже при таком раскладе питон посасывает, ведь есть высокоуровневые языки программирования типа Kotlin, TypeScript с (строгой) типизацией, писать на них ещё проще (автокомлишн работает адекватнее, и вообще он есть) и отсекаются совсем тупые ошибки, пользователям стороннего кода достаточно глянуть на интерфейсы, а не шараебиться по сорцам и корявой доке
Нет, нет, и нет. Писать и читать проще на питоне. Он для этого и создавался.
Leznz Leznz 12.02.201915:48 ответить ссылка -1.8
на 95% безопаснее джавы...
Этот сырой C#... Почему джаву вообще до сих пор кто-то использует?
О W>	Rdphcomic + System32 Comics
Leznz Leznz 12.02.201920:09 ответить ссылка 0.2
годами проверенная надежность (важно в финтех и телеком) + кросплатформенность + фичи JVM + охуенные IDE
её конечно потихоньку вытесняет Kotlin, но есть хуева туча кода, который никто не будет переписывать (legacy), да и незачем (работает)
да и при виде Spring си диез потихоньку забивается назад к параше
Сейчас на С++ пишут в основном старые проекты, новые стараются начинать на более современных и безопасных языках.
DrXak DrXak 12.02.201914:25 ответить ссылка 0.8
Не обобщай... К примеру у нас люди, которые пишут на Python в продакшн, выбирают для оптимизации некоторых мест C++, так как не хотят вляпываться в низкоуровневость C.
Я писал "в основном" а не "все". Некоторые и на Fortran до сих пор пишут. Если ты его хорошо знаешь, никто тебе не запретит на нём писать.
DrXak DrXak 12.02.201916:22 ответить ссылка 0.0
С стандарта 89 года очень простой, в нём нет ничего низкоуровневого.
Leznz Leznz 12.02.201917:21 ответить ссылка 0.1
тут все дело в сравнении
Ну ты ещё скажи, что указатели в C89 не низкоуровневые, включая арифметику указателей. И вообще система типов, начиная прямо с определения типов int и char. C89 это высокоуровневый ассемблер.
dadv dadv 15.02.201917:29 ответить ссылка 0.0
Unreal Engine заточен под С++, а на этом движке игр в последнее время выпускают довольно много. Так что не надо С++ списывать...
Только зарегистрированные и активированные пользователи могут добавлять комментарии.
Похожие темы

Похожие посты
Менеджер
Планирование ф Stand up daily ф Stand up weekly ф Review ф Ретро ф Груминг ф 1:1 •
Опять
сраный
созвон
Разработчик
подробнее»

it-юмор geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор менеджер разработчик

Менеджер Планирование ф Stand up daily ф Stand up weekly ф Review ф Ретро ф Груминг ф 1:1 • Опять сраный созвон Разработчик
даныд
@stdan¡lka
• • •
Раньше я быстро писал некрасивый и нерабочий код, но спустя многие годы упорной работы я перестал писать его быстро.
подробнее»

it-юмор geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор опыт говнокод

даныд @stdan¡lka • • • Раньше я быстро писал некрасивый и нерабочий код, но спустя многие годы упорной работы я перестал писать его быстро.
ДЕЛАЕТ
к но
ИК1
ИГРЫ
ЖЕ, ЧТО
г
БЕСПЛАТНО Издатель: Меня не интересует, насколько готов код, дедлайн через месяц, поэтому заворачивайте работу.
Разработчик:
подробнее»

разработчик издатель it-юмор geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор

Издатель: Меня не интересует, насколько готов код, дедлайн через месяц, поэтому заворачивайте работу. Разработчик: