← All posts tagged C++

4DA
C++ programming gamedev youtube.com

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

В коментариях массовый разрыв пуканов у плюсоблядей, естественно.
4DA
C++ programming shit C Чо за хуйту я читаю:

Избегайте вызова функций с переменным количеством аргументов со своими собственными сигнатурами, даже если это вполне корректные функции из станартной библиотеки C, такие как sprintf. Вызовы sprintf часто выглядят более компактными и простыми для понимания, чем эквивалентные вызовы с использованием форматирования stringstream и операторов operator<< — так же как легче сесть в машину не оборудованую ремнями и подушкой безопасности, да еще и без дверей.
4DA
C++ Lisp programming Today I am happy to make the first release of the Common Lisp implementation “Clasp”. Clasp uses LLVM as its back-end and generates native code. Clasp is a super-set of Common Lisp that interoperates smoothly with C++. The goal is to integrate these two very different languages together as seamlessly as possible to provide the best of both worlds. The C++ interoperation allows Common Lisp programmers to easily expose powerful C++ libraries to Common Lisp and solve complex programming challenges using the expressive power of Common Lisp. Clasp is licensed under the LGPL.
лан // пошел думать почему у Racket JIT не на llvm.
4DA
C++ programming C Lua Бля, луа просто охуенно. Все сделано очень просто и красиво.

Единственная проблема тут в том, что говноплюсы не умеют в нормальные замыкания.
4DA
C++ programming Решил тута зарефакторить свой велосипед, через 10 минут меня уже заебало от лексем вида class, public, {}, геттеров, сеттеров, кучи инклудников, #pramga, #ifdef и прочей поеботы.
вербозный некогерентный говносинтаксис, который никак не поддается абосракции

нахуй это все нужно ваще?
4DA
C++ programming We describe an alternative syntactic binding for C++. This new binding includes a completely redesigned declaration/definition syntax for types, functions and objects, a simplified template syntax, and changes to several problematic operators and control structures. The resulting syntax is LALR(1) parsable and provides better consistency in the specification of similar constructs, better syntactic differentiation of dissimilar constructs, and greater overall readability of code.

csse.monash.edu.au
4DA
C++ shit такое

```
[14.2] Do friends violate encapsulation?

No! If they're used properly, they enhance encapsulation.

You often need to split a class in half when the two halves will have different numbers of instances or different lifetimes. In these cases, the two halves usually need direct access to each other (the two halves used to be in the same class, so you haven't increased the amount of code that needs direct access to a data structure; you've simply reshuffled the code into two classes instead of one). The safest way to implement this is to make the two halves friends of each other.
```
4DA
C++ shit ```
struct Material
{
float ambient[3];
float diffuse[3];
float specular[3];
float transmittance[3];
float emission[3];
float shininess;
float ior;

void init_arr(float dst_arr[], float src_arr[]) {
dst_arr[0] = src_arr[0];
dst_arr[1] = src_arr[1];
dst_arr[2] = src_arr[2];
}

Material(){}

Material(float amb[], float diff[], float spec[], float trans[], float emis[],
float sh, float _ior):shininess(sh), ior(_ior) {
init_arr(ambient, amb);
init_arr(diffuse, diff);
init_arr(specular, spec);
init_arr(emission, emis);
init_arr(transmittance, trans);
}
};
```
4DA
C++ быдло shit быдлопроблемы Чят, представь ситуцию:

Ты едешь в метро, читаешь книгу (допустим, по C++).
Вдруг, тебя толкают/трясут и не всем вежливо предлагают уступить место какой-нибудь бабке или онажемать-ери.
+ все это сопровождается одобрительными взглядами у сидящего быдла в вагоне.

Твои действия?
4DA
C++ programming Haskell D OCaml Я так понимаю, сейчас, едниственные достойные высокоуровневые статические языки, генерящие быстрые бинари с нормальными либами и без скрытых граблей — ocaml, C++ и D ?