Programming sucks – Telegram
Programming sucks
81 subscribers
12 photos
188 links
Когда вы меняете направление всех стрелок в конусе, вы получаете коконус.
Download Telegram
У Microsoft аналогичная проблема с операционными системами: они годами выпускали лажу, делая ее совместимой с прежней лажей, основанной на всей лаже, созданной раньше.

(c) Крокфорд, Coders at work
Like all of the WHATWG specs, it initially looks like the aftermath of a cluster bomb in a scrabble factory, but once you’ve read it for the 5th time and wiped the blood from your eyes, it’s actually pretty interesting
(c) https://www.html5rocks.com/en/tutorials/speed/noscript-loading/
Like a cluster-bomb in a sheep factory, “defer” became a wooly mess. Between “src” and “defer” attributes, and noscript tags vs dynamically added noscripts, we have 6 patterns of adding a noscript. Of course, the browsers didn’t agree on the order they should execute.
(c) https://www.html5rocks.com/en/tutorials/speed/noscript-loading/
Forwarded from Alexander Granin
В последние пару недель в С++ сообществе разгорелся большой срач по поводу новых фич в C++20. Гемйдев-разработчики стриггерились на пример от Eric Niebler, где он с использованием своей ФП-библиотеки ranges решил задачу "вывести все пифагоровы тройки". Код содержит десять строк с вложенными лямбдами и неявными циклами, и многие олдскульные разработчики находят его нечитаемым и непонятным. В сети одна за одной появились разгромные статьи от ведущих геймдевелоперов про неверное направление развития С++. В Твиттере развернулись баталии с явным и неприкрытым хейтом в сторону "modern C++" и в сторону Эрика Ниблера в частности.
Forwarded from Alexander Granin
Код, на который стриггерились геймдевелоперы:
using view::iota;
auto triples =
for_each(iota(1), [](int z) {
return for_each(iota(1, z+1), [=](int x) {
return for_each(iota(x, z+1), [=](int y) {
return yield_if(x*x + y*y == z*z,
make_tuple(x, y, z));
});
});
});
I can confirm: when I was 13 years old, an older boy invited me over to his house and on his computer he showed me things in Haskell that my young mind was not ready for: foldable semigroup isomorphisms, lenses, comonads and homeomorphic endofunctors. For years afterwards, I've felt dirty and ashamed of my functional programming experience.
(c)https://www.reddit.com/r/programmingcirclejerk/comments/adidn7/haskell_is_very_damaging_to_inexperienced_and/
Generally, programmers aren’t thrilled about the iterative method because it means extra work for them. Typically, it’s managers new to technology who like the iterative process because it relieves them of having to perform rigorous planning, thinking, and product due diligence (in other words, interaction design). Of course, it’s the users who pay the dearest price. They have to suffer through one halfhearted attempt after another before they get a program that isn’t too painful.

(c) The Inmates Are Running the Asylum, Alan Cooper
Software that does more instead of less is, simply put, badly designed software. Trying to come up with an all-encompassing solution is always a sign of developer hubris and inexperience, and never a sign of good engineering. Ever.

(с) https://skarnet.org/software/s6/systemd.html
if you really learn Sublime Text, you will become super productive. If you really learn Emacs, you will become super productive. If you really learn Visual Studio… you get the idea.

Here’s the thing though, you never actually need to really learn your text editor… Unless you use vim.

(c) https://www.quora.com/Why-is-Vim-the-programmers-favorite-editor
Not everyone is made to do this. Sure, in theory anyone can “code” in that they can type syntax into an editor. But the fact is not everyone is cut out for coding. That doesn’t mean anything other than there are probably a million other things you are good at.

I can code, but why is playing music hard for me? I can push a key on a piano. I can strum a string, I can hit a drum. But when I do it doesn’t sound like music, it sounds like noise.

(с) Quora
The most important single aspect of software development is to be clear about what you are trying to build.

(с) http://www.stroustrup.com/bs_faq.html#really-say-that
There are only two kinds of languages: the ones people complain about and the ones nobody uses

(с) http://www.stroustrup.com/bs_faq.html#really-say-that
We put virtual machines inside Linux, and then we put Docker inside virtual machines, simply because nobody was able to clean up the mess that most programs, languages and their environment produce. We cover shit with blankets just not to deal with it. “Single binary” is still a HUGE selling point for Go, for example. No mess == success.

(с) http://tonsky.me/blog/disenchantment/
To use functions as arguments, one needs a notation for functions, and it seemed natural to use the 𝜆-notation of Church.
I didn’t understand the rest of his book, so I wasn’t tempted to try to implement his more general mechanism for defining functions.

(c) History of LISP, McCarthy, 1978,
In 1983 or 1984, when Alonzo Church was about 80 years old, he was invited to speak at the Center for the Study of Language and Information at Stanford University, and was taken on a little tour featuring CSLI's Xerox Dandelion computers. These computers were running LISP, a programming language developed by John McCarthy (b. 1927). Church was told how LISP was based on the lambda calculus that Church had invented some 50 years earlier.

Church confessed that he didn't know anything about computers, but that he once had a student who did. By that time, of course, everyone knew who Alan Turing was

http://index-of.co.uk/Theory-of-Computation/Charles_Petzold-Annotated_Turing-Wiley(2008).pdf
I worked at Boeing for about 1.5 years in the 2008-9 time period and I can absolutely guarantee this happened.

First, Boeing's corporate culture is the worst shitshow I have ever experienced. All large corporations have a lot of internal issues and problems but nothing like the Lazy B. It was like working in a company designed by Kafka. I signed up at Boeing as a programmer. When I showed up at my first day of work, the first words out of my supervisor's mouth were, "I don't know why you are here, we have no need for programmers." (The Boeing interview process is done so that at no point, do you ever have contact or communication with the team you will be working with.)

So, basically, I was cutting and pasting cells in Excel spreadsheets and doing ad hoc project management during my time there. They did have need for a programmer, but I didn't have access to install any programming software on my machine because no one knew who the local IT person was. No one. It was a year before I was able to figure that out and only because I was bored one day and was walking around the building and found the guy's cubicle by accident.
От друзей я слышал, что в математике попадаются объекты, отличные от полугрупп.

(с) Эйнар Хилле
Forwarded from PONV Daily (λoλcat)
FP in general and Tagless Final in particular are about security.
Code security and job security, both achieved via code obfuscation.


Слайды доклада Войтека Питулы с недавней конференции LX Scala & Reactive:
http://w.pitula.me/presentations/2019-07-lxscala

#taglessfinal #slides