ФлеймФорумПрограммирование

Ищу человека который объяснит и научит C# (18 стр)

Страницы: 117 18 19 2023 Следующая »
#255
15:43, 16 ноя 2021

innuendo
> Smalltalk знаешь?

Нет, но имел опыт работы на Ruby. Говорят, что там объектная модель ближе к смоллтолку, т.к. в нем вызов методов устроен примерно так же. Впрочем, Ruby я знаю не настолько глубоко, как питон.

В Питоне же, если говорить строго, вообще нет ни методов (за исключением магических), ни полей, ни свойств - есть только операция атрибутирования объекта (плюс механизм дескрипторов, с помощью которого unbound метод в классе превращается в bound метод объекта, причем это не часть языка, а stdlib-реализация get-дескриптора для объектов типа "функция"), и магический метод __call__ у bound-метода.

#256
15:53, 16 ноя 2021

Dmitry_Milk
> Нет, но имел опыт работы на Ruby. Говорят, что там объектная модель ближе к
> смоллтолку

так и есть - кроме деталей

> Ruby я знаю не настолько глубоко, как питон.

вот и расскажи про разные реализации пайтона

#257
16:00, 16 ноя 2021

0iStalker
> Тем не менее, в питоне не динамическая типизация
  Комикс демонстрирует нестрогую типизацию. В питоне она строгая, поэтому там строка с числом не складывается. При этом и в питоне и в JS она динамическая. Удивительно, как некоторые до сих пор путают эти вещи.

https://ru.wikipedia.org/wiki/Сильная_и_слабая_типизация

Python является одним из примеров языка с сильной динамической типизацией

#258
16:01, 16 ноя 2021

Я кроме обычной реализации питона никакими другими не пользовался, так что про другие реализации не могу ничего сказать. Впрочем, думаю, что объектная модель (то есть, как питоновский текст превращается в последовательность аллокаций объектов и вызовов их magic-методов) должна быть во всех реализациях одна и та же, хотя могу и ошибаться.

#259
16:06, 16 ноя 2021

Лол, остальные реализации питона никому не нужны, так как подавляющее число либ, собственно ради которых и нужен питон, там тупо не заводятся, даже базовые вроде numpy, matplotlib. Поэтому никто в здравом уме для разработки/ресёча ничего кроме CPython не использует.

#260
16:11, 16 ноя 2021

Насчет строгой или нестрогой типизации в питоне - приведу пример:

class MyStr(str):
    def __add__(self, second):
        return str(self) + str(second)
    
    def __radd__(self, first):
        return first + type(first)(self)

s = MyStr("1")
print(repr(s + 2))   # '12'
print(repr(2 + s))   # 3
#261
16:33, 16 ноя 2021

Dmitry_Milk
  Это перегрузка оператора. В крестах тоже есть, но никто из-за этого не называет их языком со слабой типизацией.

#262
16:43, 16 ноя 2021

Zefick, в принципе да. Я про то, что в том комиксе вообще непонятно что, там даже не про слабую типизацию. Там просто про то, что в JS для разных типов аргументов в разном порядке получаются результаты разных типов. Пример выше демонстрирует, что в питоне может быть то же самое. Но при этом нельзя сказать, что в питоне слабая типизация - у любого объекта в любой момент времени четко известен его тип.

#263
17:00, 16 ноя 2021

thevlad
> Лол, остальные реализации питона никому не нужны, так как подавляющее число
> либ, собственно ради которых и нужен питон, там тупо не заводятся, даже базовые
> вроде numpy, matplotlib. Поэтому никто в здравом уме для разработки/ресёча
> ничего кроме CPython не использует.

то есть IronPython PyPy это фуфло ? понятно

#264
20:35, 16 ноя 2021

Давайте уже все сойдёмся на том что фуфло это С++

#265
20:47, 16 ноя 2021

Nomad
> Давайте уже все сойдёмся на том что фуфло это С++
Ты что, тогда же окажется, что НульСталкер только на фуфле и может программировать. Чем тогда он будет компенсировать своё эго? Помидорностью позиции на проекте?

Моя позиция такова.
Асимптотически, при увеличении затраченных человеко-лет до бесконечности - программа на С++ окажется второй по быстроте и экономности памяти (после ручной ассемблероты).
Если же бюджет рабочей силы ограничен - то вполне может оказаться, что разработка на других языках пойдёт побыстрее.
В общем, С++ - это high skill ceiling, high skill floor.
В частности, если рассматривать кастомные заказные энтерпрайз-решения, то между двумя альтернативами "заплатить X апельсинов крестовикам" и "заплатить Y апельсинов питонистам и докупить серверов за Z", получается X > Y+Z.

Пожалуй, единственное исключение, где С++ актуальнее всех живых - это геймдев, где вместо Z у нас "теряем W прибыли от людей, которые рефанднули нашу игру из-за тормозов", а X составляет не больше 10% от аналогичных специалистов в энтерпрайзе.

#266
21:15, 16 ноя 2021

Имбирная Ведьмочка
> Пожалуй, единственное исключение, где С++ актуальнее всех живых
все компиляторы

#267
22:20, 16 ноя 2021

Nomad

> Давайте уже все сойдёмся на том что фуфло это С++
Вот если бы ты сказал, что C++ это фуфло, возможно были бы возражения. А так ты даже возвысил этот язык программирования, как базовый для изучения.

return [](){};

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

#268
22:30, 16 ноя 2021

return [](){};
> все компиляторы
Там не настолько всё однозначно, ведь кресты - это далеко не только убэшки и кекешки, это ещё шаблоны, концепты, стдлиба и ещё куча всякого органического нароста. А убэшки - они же присутствуют и в си.
Так что, если ты о проблемах в LLMV IR и аналогах, тут ещё вопрос - может, это всё тяжёлое наследие бородатой сишки времён К и Р? Или это прекрасное разнообразие способов превратить программу в тыкву - на самом деле "бэкпортнули" в сишку из крестов, как это сделали с атомиками? Ещё большой вопрос, действительно ли роль крестов тут настолько велика, или всё это - это голый си, а кресты только по наследству довольствуются теми же самыми фичами. Ну, или ты знаешь об этом больше меня и для тебя это - не вопрос, тоже возможно.

Кстати, конкретно GHC, вроде как, обходится вообще без крестов - вся нативная часть написана на си, и все стадии - тоже собственные, от исходника до готового бинарника. Ну типа, если подать флажки - то можно поменять линкер на внешний, и можно вместо встроенной стадии STG->bin (под самый конец, когда оптимизация уже прошла, типы стёрты и остались только танцы с регистрами) использовать бэк-энд ллвм. Но это вовсе не обязательно, и даже не является мейнстримом (опять же, для оптимизации у гхк есть своя система, со своими собственными правилами).
Так что, тут тоже утверждение сомнительное.

Так что, скорее не "кресты", а "си", и не "все", а только "многие".

#269
22:43, 16 ноя 2021

return [](){};
> все компиляторы
  Обычно таки компиляторы зрелых языков пишутся на них самих. Да и в принципе если выбирать на чём писать если не на самом языке, то кресты не лучший выбор с любой точки зрения. Вот интерпретаторы это уже другое дело, но даже интерпретатор питона написан почему-то всего-лишь на Си.

Страницы: 117 18 19 2023 Следующая »
ФлеймФорумПрограммирование

Тема в архиве.