«We used (enforced) a writing method for software developers ... The prose mattered and project leads were forced to read them. It was not anything that could be rushed at the end. ... We fired people who could not write English right alongside their Java and PL/SQL. It worked great. 100% project completion over 125 projects.» https://news.ycombinator.com/item?id=15270087 #link #programming #quote
(up) ‎· 9000
ну там в тредике упоминают вариант что это такой тонкий стёб ‎· разработанный Фёдор
^ не думаю. а также думаю, что идея очень верная. не можешь написать толком == не понимаешь, это очень важно выявлять, в себе в первую очередь. ‎· 9000
я про "(enforced)" и вот это всё ‎· разработанный Фёдор
@cmm: Мало ли вещей в процессе разработки enforced? Тикеты там писать, или чтобы тесты проходили, или вообще code review. ‎· 9000
2038: when 32-bit time_t values can no longer represent times correctly is now less than 21 years away https://t.co/nSG3qxkCNl #programming https://twitter.com/runmen/status/844638325772374016
«[Д]ело даже не в сложности определить в каких единицах мерять работу, а в том как сформулировать что бизнес вообще ждёт от программиста» /misha/1098264#c3486184 #programming #money #quote
Парадоксальным образом, это, кмк, близко к проблеме измерения эффективности менеджмента подразделений, которые не не заняты впрямую деньгами (продажами, etc), но обеспечивают процессы, от которых зависят "денежные" подразделения. ‎· 9000 ‎· 1
«работа программистом - идеальный способ начать перепроверять самые достоверные выкладки» /plst/1056904#c3390219 #programming #quote
Cf. «Beware of bugs in the above code; I have only proved it correct, not tried it» ‎· 9000
(ping at prime time) ‎· 9000
Помню, как устроил однокурсника - программиста в соискатели кандидатской степени к известному в своей области (физика твердого тела) профессору, защитившему огромное количество аспирантов. И занялся наш соискатель как раз перепроверкой тех самых достоверных выкладок. И доказал (о, ужас!), что они не верны. Думаю излишне далее описывать, что тезис "отрицательный результат - тоже результат" для кандидатской не слишком хорошо работает. ‎· С нетерпением ждем новых историй ‎· 2
Introducing #PureScript #Erlang back end: «Looks like we just got compile-time type safety and higher-kinded polymorphism on the BEAM VM.» https://news.ycombinator.com/item?id=13551404 #programming #link
Between this, Elixir, and Erlang proper, BEAM becomes accessible from rather different angles. Yay #layered_design! ‎· 9000
«I’m not sure why I decided to create an Erlang backend for the PureScript compiler. The platform is somewhat interesting, but I didn’t know it, and I don’t have any particular use case for it.» ‎· 9000
compiling to Erlang source ‎· плот страстей человеческих
«With the mix of affection and disdain one traditionally feels for a younger brother, i refer to Go as "systems PHP".» https://news.ycombinator.com/item?id=13430612 #link #programming #quote
«It may not be a sophisticated language; it may not produce beautiful code; it may, arguably, even have inexcusable flaws. But it is astoundingly easy to learn to the point where someone can be productive with it.» (* Because all your Pascal and Basic knowledge from middle school kicks in immediately, I'd add. *) ‎· 9000 ‎· 1
Eta Programming Language "A powerful language for building scalable systems on the JVM" http://eta-lang.org/ — basically a #Haskell on #JVM, even with a repo of Hackage-compatible packages. «Eta v0.0.5 successfully interoperates with Java, Scala, and Clojure and supports a good chunk of the existing Haskell and Java libraries.» (from https://blog.typelead.com/https-blog-typelead-com-introducing...) #link #programming
fbshare.png.png
The unexpected part: Copyright (c) 2017 TypeLead - Bangalore, India ‎· 9000 ‎· 1
@voldmar: У них зато поддержка GHC 7.10 extensions; я так понял, они берут промежуточное представление, даваемое GHC (вот тут я не понял, как именно), и раелизуют все низкоуровневое для JVM. ‎· 9000
«"Generics are not free." Creating a modern statically typed language WITHOUT generics isn't free either. Just like implicit interfaces are not free, just like the reflect package is not free, just like using interface{} somewhere isn't free, just like telling people to use code generators isn't free.» https://news.ycombinator.com/item?id=13358631 #link #programming #golang
Russ Cox, as usual, was/is thoughtful: https://research.swtch.com/generic (2009) ‎· 9000
TIL: http://ternjs.net/ «Tern is a stand-alone code-analysis engine for #JavaScript. It is intended to be used with a code editor plugin to enhance the editor's support for intelligent JavaScript editing.» #programming #link
(В рамках предновогодней #programming #nargery в ленте:) Любопытно, сколько лет нужно толковой идее, чтобы стать более-менее массовой, "модной". Garbage collection: 1960-е (Lisp) -> 1990-е (Java, Perl, Python, ObjC). ООП: 1970-е (CLOS, Simula) -> 1990-е (C++, Java, Perl 5, Python; Smalltalk массовым не стал). Hindley-Milner types: 1969 / 1978 -> 2010s (Rust; мне трудно считать Haskell и тем более OCaml особо популярными / модными, увы). Это не считая некоторого возрождения идей Lisp (1958) / Scheme (1970) -> 2010-е (Clojure).
Соотв. можно прикинуть, сколько времени пройдет до (возможной) популярности идей, показавшихся на поверхности 10, а то и 5 лет назад. ‎· 9000
@vinsentru: язык - не будет, это невозможно. если текущее состояние не устраивает - учи эликсир. виртуальную машину фиксят постоянно, это сейчас один из приоритетов. ‎· Сад расходящихся фидиков
My new job is pretty buzzword-compliant: big data, natural language processing, machine learning, #functional #programming. The catch is that all of this is somehow small-scale yet (except maybe the entire codebase in #Scala). #personal
(а также #панталоны_фрак_жилет; на русском получился бы почти сплошной транслит.) ‎· 9000 ‎· 1
@random: Справлюсь, куда ж я денусь; спасибо за заботу! Полезный опыт, опять же. ‎· 9000 ‎· 3
I used to think of Java as the unquestionable Cobol of 21st century, but now I see that Go is a worthy contender, and likely closer in spirit. #programming
Erik Meijer: «[J]ust as "mostly secure" does not work, "mostly functional" does not work either. Instead, developers should seriously consider a completely fundamentalist option as well: embrace pure lazy #functional #programming with all effects explicitly surfaced in the type system using monads.» http://queue.acm.org/detail.cfm?id=2611829 #link
Has a few funny examples how laziness in LINQ completely breaks the expectations of imperative programming. ‎· 9000
(Here De Goes writes, among other things, how to push the effects to the "outer shell" of a program: http://degoes.net/articles/modern-fp-part-2) ‎· 9000
#CoffeeScript is like #Perl (or maybe even J). Expressive, concise, and unforgiving. One punctuation character away from a legal and correct program lies another legal and correct program doing an entirely different thing. #programming #nargery
«DevDocs is an API documentation browser that combines 80+ docs in a single UI with _offline mode_, instant search, keyboard shortcuts, and more.» http://devdocs.io/ #link #docs #programming
That "offline mode" thing, that uses browser's local storage, is a lifesaver when riding a subway train. (Unlike Moscow's, NYC's subway trains do not have wi-fi; instead they have air conditioning.) ‎· 9000
«Performance of language implementations is a function of money, resources, and PhD theses, not language features.» http://programmers.stackexchange.com/a/324317/11732 #programming #link
«Self is much more dynamic than Smalltalk and slightly more dynamic than Python, Ruby, ECMAScript, or Lua, and it had a VM that outperformed all existing Lisp and Smalltalk VMs (in fact, the Self distribution shipped with a small Smalltalk interpreter written in Self, and even that was faster than most existing Smalltalk VMs), and was competitive with, and sometimes even faster than C++ implementations of the time.» #bizarre ‎· 9000
^ note that the hardware is not going to be significantly faster likely for another decade, or even two (not until graphene ASICs become available). ‎· 9000
TIL: «Coconut Programming Language: Simple, elegant, Pythonic #functional #programming #software (by Evan Hubinger)» http://coconut-lang.org
Runs on both branches of Python unchanged. Any valid #Python is valid Coconut. Pattern matching of sorts, partial application, laziness, even tail call elimination. No type declarations, though. ‎· 9000
So far I (theoretically) like the #Swift language. Especially I like how many accepted proposals for swift v. 3 (https://github.com/apple/swift-evolution) remove crutches introduced in previous versions, a lot of traditional C cruft, and even entire features that bring more problems than benefits (like, sadly, currying). #programming #link
·1
Since a Linux port exists, it theoretically can be adapted for Android. (Unfortunately, Kotlin if unlikely to ever run on iOS.) ‎· 9000
I wish more developers of anything core-level were as thorough as the guys that wrote the Swift error-handling rationale https://github.com/apple/swift/blob/master/docs/ErrorHandling... ‎· 9000
Github invented A/B #testing for code: https://github.com/github/scientist Works only with pure functions, obviously :) #programming #software
Keenly reminded me about having two independent implementations of an algorithm in aerospace software and having them agree. Also, implementing such a thing in a lazy language would be an interesting puzzle. ‎· 9000
a lazy language? ‎· silpol
^ lazy evaluation semantics, as in, well, Haskell. ‎· 9000
Quite aptly named: "50 Shades of Go: Traps, Gotchas, and Common Mistakes for New #Golang Devs" http://devs.cloudimmunity.com/gotchas-and-common-mistakes-in-... #link #programming
прям жаваскрипт! ‎· адский хардлайн в засаде
Ну, про жаваскрипт-то томик потолще. Ну и простой язык ≠ простой runtime. ‎· 9000
^ так там не про рантайм бОльшая часть, а про язык же? ‎· адский хардлайн в засаде
Если отвлечься от мелочей про синтаксис, кмк, вопросы в основном про неочевидную семантику кое-чего: строк, каналов, горутин и т.п. Для меня это про рантайм, поскольку можно было бы реализовать и иначе, не меняя ключевых интерфейсов. Но могу быть неправ. ‎· 9000
And now some enjoyable #programming #necromancy: certain guys revive #Modula-2 http://modula-2.info/m2r10/ #link
·1
For low-level systems stuff, I'll take it over C any day. #Golang stole a number of ideas from it (and its progeny), which is only good. ‎· 9000
то есть Пайк долго и поверхностно рассказывает что дизайн языка и имплементация языка — это сложно. И это правда, несомненно, но это такая же правда как то что вода мокрая, а снег белый. ‎· Размытое в синей футболке
так cursive релизнулся, там наверняка можно автодополнение и тд. ‎· адский хардлайн в засаде
Народ шутит тут про "Unix find(1) GUI". Правильно, ехидно шутит; у find свой микроязык для описания условий, и другой всобачить достаточно затруднительно; равно затруднительно переиспользовать этот язык в другой программе. Это, в частности, потому, что у unix pipes наступают трудности, когда входов и выходов требуется больше одного. И, когда что-либо добавить требует "неоправданных усилий", начинают расти монолиты, у которых всё труднее с composability. #nargery #programming #unix
vice-versa-gui.jpg
это не IrfanView часом? у него примерно так-же всё выглядело (но было удобно и функционально, насколько я помню) ‎· не плачь, выпей коньяку
^ На скриншоте внизу можно разобрать название софтины; мне не знакомо. ‎· 9000
Это вы ещё кодек H.264 через гуй не настраивали. ‎· фид-дот, да не тот ‎· 1
Наступили на ещё один обширный баг в legacy коде, которого бы не было, если б архитектор приложения вспомнил сразу, что правильная БД должна быть в основном append-only, что immutability или хотя бы copy-on-write рулят, а в существенно параллельном случае, как у нас — рулят стократ. #nargery #programming
Впрочем, в мои вузовские годы этому не учили особо. Но если автор исходных идей — примерно мой ровесник, то должен бы был уже нахвататься и применить. А если сильно младше, то мне печально за образование. Хотя вроде сейчас-то всякая функциональщина наконец сколько-то модна. ‎· 9000