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

it-юмор geek 
Что за хрень эти указатели? оп разработчиков Хватит писать на псевдокоде О ЯЬУ7 Пособие «1 шстоя щего » раз работ ч и ка,it-юмор,geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор
Подробнее
Что за хрень эти указатели? оп разработчиков Хватит писать на псевдокоде О ЯЬУ7 Пособие «1 шстоя щего » раз работ ч и ка
it-юмор,geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор
Еще на тему
Развернуть
надо было сразу "С++ для html-верстальщиков" писать
fokk fokk11.02.201922:35ответитьссылка -1.4
Какой смысл тогда имеет надпись "Хватит писать на псевдокоде"? Лишь бы пошуть про HTML, хоть и невпопад...
HTML разве не язык разметки - хуле о нем шутить ?
Вот и я о том
А если спрыгнул с плюсов на питона?
Это нумпи, он не дефолт для питона. У него ОЧЕНЬ интересно работают матрицы и аррэи.
Это он при каждом a = np.array(1) суммирует его с предыдущим? Если сейчас дописать туда

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

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

Так что любой язык надо знать хочь чуть-чуть поглубже, чем a=b, а в Плюсах таких тонкостей в мильён раз больше.
А вот кстати да, я был неправ. Действительно во втором случае мы редактируем объект на месте. Однако переменная "а" при этом не должна была измениться, видимо вот тут особенность numpy и зарыта - переменная становится типа обратнозависима или как-то так (я откровенно плох в программировании)
Да нет же. В обоих случаях сначала и имени 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)

В Питоне нет переменных как таковых, в питоне все идентификаторы — это ссылки на объект в памяти.
Вот не знал этого. Я питон знаю на уровне "написать алгоритм расчета чтобы не пересчитывать вручную по десять раз". Когда формул очень много, питон удобнее excel, а для многократных расчетов он удобнее чем маткад.
Я просто оставлю это здесь...
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 по факту ссілается на "а".
с контейнерами-то понятно всё.
беда в том, что у нампая (а = а+б) не тождественно (а += б), хотя по логике должно было бы.
Давайте ещё на ассемблере писать.

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

Но нет же, тогда же нельзя будет гордиться, как ты героически жрёшь кактус.
даже при таком раскладе питон посасывает, ведь есть высокоуровневые языки программирования типа Kotlin, TypeScript с (строгой) типизацией, писать на них ещё проще (автокомлишн работает адекватнее, и вообще он есть) и отсекаются совсем тупые ошибки, пользователям стороннего кода достаточно глянуть на интерфейсы, а не шараебиться по сорцам и корявой доке
Нет, нет, и нет. Писать и читать проще на питоне. Он для этого и создавался.
на 95% безопаснее джавы...
Этот сырой C#... Почему джаву вообще до сих пор кто-то использует?
О W> Rdphcomic + System32 Comics
годами проверенная надежность (важно в финтех и телеком) + кросплатформенность + фичи JVM + охуенные IDE
её конечно потихоньку вытесняет Kotlin, но есть хуева туча кода, который никто не будет переписывать (legacy), да и незачем (работает)
да и при виде Spring си диез потихоньку забивается назад к параше
Сейчас на С++ пишут в основном старые проекты, новые стараются начинать на более современных и безопасных языках.
Не обобщай... К примеру у нас люди, которые пишут на Python в продакшн, выбирают для оптимизации некоторых мест C++, так как не хотят вляпываться в низкоуровневость C.
Я писал "в основном" а не "все". Некоторые и на Fortran до сих пор пишут. Если ты его хорошо знаешь, никто тебе не запретит на нём писать.
С стандарта 89 года очень простой, в нём нет ничего низкоуровневого.
тут все дело в сравнении
Ну ты ещё скажи, что указатели в C89 не низкоуровневые, включая арифметику указателей. И вообще система типов, начиная прямо с определения типов int и char. C89 это высокоуровневый ассемблер.
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,Прикольные гаджеты. Научный, инженерный и айтишный юмор

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