All streams
Search
Write a publication
Pull to refresh
3
0.7
Send message

Код в любом случае нужно будет писать самому рано или поздно. Когда учишься водить машину, то с самого начала садишься за руль.

Иначе в Ворд тоже можно встроить словарь, чтобы перетаскивать слова в текст. Вдруг побоишься допустить ошибку и не напишешь.

Я про это и говорю. Но то, что вы пытаетесь все языки объяснить терминологией php — неправильно.

Поиск по фото показывает, что оно называется «Альберт Эйнштейн получает медаль Франклина»: https://www.gettyimages.at/detail/nachrichtenfoto/dr-nathan-hayward-president-of-the-franklin-institute-nachrichtenfoto/517288390

Слева — доктор Натан Хэйуорд, президент Института Франклина.

Посередине — Альберт Эйнштейн.

А вот справа — Генри Эллис Уоррен (названный, почему-то Луисом), получивший медаль Уэзерилла от того же института.

Только вот веб-приложению выполнить нативный код никто не даст

Да хотя бы чтобы новичок понял, зачем нужна std::move, нужно гору всего узнать. Или даже как правильно перегрузить operator <=>

Так и для JS вы не построите список классов и функций. Нужны описания типов от TypeScript.

Учтите, что в плюсах, например, есть перегрука операторов. Отлично, скажете вы, пусть подсказка определяет тип выражения и показывает документацию для соответствующей перегрузки. Это могло бы иметь смысл. Однако есть унарные операции. То есть программист пишет

auto x = ~

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

Или есть уже множество сторонних, в том числе и бесплатных, ИИ-помощников, которые могут помочь накидать код с нуля.

Которые предназначены для другого (как я понимаю, это видимо stubs для быстрой документации и автодополнения

что?

Сомневаюсь, что она была выпущена до публичной презентации Windows 95.

Я про это говорю:

Оно есть в IDE для джавы уже больше 20 лет. Аналогичная иерархия есть в IDE для дотнета, и в Rider, и в Visual Studio.

То есть если где-то будет ещё один потомок, какой-нибудь IsoscelesTriangle extends Triangle со своим переопределением метода getArea, и функция Triangle getTriangle(), то из triangle.printArea() пользователь попадёт в Figure, а оттуда в базовый метод Triangle.getArea()? Это запутает ещё больше. Так что в подобной ситуации лучше оставить как есть.

public class Figure {
  public void printArea() {
    double area = getArea(); // <-- строка 3
    System.out.printf("area = %f\n", area);
  }

  public abstract double getArea();
}

public class Square extends Figure {
  public double getArea() {
    ...
  } 
}

public class Triangle extends Figure {
  public double getArea() {
    ...
  }
}

public class Circle extends Figure {
  public double getArea() {
    ...
  }
}

public class Main {
  Figure getFigure() {
    ...
  }

  public static void main(String[] args) {
    
    ...
      
    Figure figure = getFigure();
    figure.printArea();  // <-- строка 38
  }
}

Программист переходит на определение printArea из строки 38, затем оттуда переходит на определение getArea из строки 3. Куда его отправит IDE, если он хочет разобраться, почему у него площадь круга неправильно выводится?

Вот список всех классов в стандартной библиотеке Java SE 10: https://docs.oracle.com/javase/10/docs/api/allclasses-noframe.html Их примерно 6000. Как этот список кому-то поможет освоиться? А если по иерархии разложить, то и в документации, и в IDE это уже есть. И это ещё только классы без методов.

Так вы же ИТ-предприниматель. Запустите стартап со своим видением.

А почему мой комментарий должен противоречить?

C++20 (ISO/IEC JTC1 SC22 WG21 N 4860)

6.7.2 Object model

  1. An object has nonzero size if it
    — is not a potentially-overlapping subobject, or
    — is not of class type, or
    — is of a class type with virtual member functions or virtual base classes, or
    — has subobjects of nonzero size or bit-fields of nonzero length.
    Otherwise, if the object is a base class subobject of a standard-layout class type with no non-static data members, it has zero size. Otherwise, the circumstances under which the object has zero size are implementation-defined. Unless it is a bit-field (11.4.9), an object with nonzero size shall occupy one or more bytes of storage, including every byte that is occupied in full or in part by any of its subobjects. An object of trivially copyable or standard-layout type (6.8) shall occupy contiguous bytes of storage.

При создании модели проектировщик заранее настраивает связи между разными BIM-моделями, задает параметры и их значения у элементов. Если инженер в своей модели перенесет трубу и забудет сообщить об этом конструктору, то на этапе проверки моделей на коллизии (пересечения), ПО покажет это пересечение и позволит избежать ошибку на стройке.

А если проектировщик не настроит нужные связи?

Если владельцу захотелось сделать перепланировку квартиры, то с BIM-моделью уже построенного здания это сделать намного проще. 

Но кто же ему её даст?

можно быстро и точно посчитать объемы отходов при сносе здания, их классы опасности и типы утилизации, если занести эти данные в BIM-модель на этапе проектирования

А если не занести? :)

Основная цель BIM — сделать работу девелопера дешевле и эффективнее. В перспективе это позволит снизить общую стоимость жилья для покупателя

Экономия для застройщика понятна. Но ему же хочется маржинальность повысить, а для этого конечную стоимость снижать как раз не надо.

Моторы внутреннего сгорания в современном мире никуда не делись, но лишь реактивные двигатели способны унести в космос. И мы в ПИК уверены, что именно за BIM будущее строительной отрасли. 

Сама концепция известна с 1970-х годов. AutoDesk начал внедрять с начала 2000-х. Graphisoft ещё раньше. Внедряется долго, тяжело и дорого, но и подобные рекламные статьи лет 20 пишутся так, будто не только-только на орбиту вышли, а уже регулярные рейсы «Москва – Кассиопея» устраиваем.

Также, с учётом текущей ситуации в мире, хотелось бы спросить: а кто разрабатывает эти «ракетные двигатели» и будет ли к ним доступ с учётом санкций?

Когда Яндекс две машины привозит — это ему убыток. Тут нужна идемпотентность. Когда он деньги у клиентов списывает — это ему прибыль. Зачем тут тратить ресурсы на реализацию идемпотентности?

Information

Rating
1,799-th
Registered
Activity