From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=unavailable autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!mx02.eternal-september.org!.POSTED!not-for-mail From: Paul Rubin Newsgroups: comp.lang.ada Subject: Re: newbie, Spark 2014 or Ada 2012 Date: Thu, 09 Jul 2015 13:10:34 -0700 Organization: A noiseless patient Spider Message-ID: <878uap8539.fsf@jester.gateway.sonic.net> References: <974c8db0-c9e8-49d4-8db1-3417ec49217b@googlegroups.com> <87k2uenkcw.fsf@nightsong.com> <87615x9s3o.fsf@jester.gateway.sonic.net> <87pp438tm6.fsf@jester.gateway.sonic.net> <87d2028dfy.fsf@jester.gateway.sonic.net> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Info: mx02.eternal-september.org; posting-host="22184b02e80198190244f5a2dd813f11"; logging-data="15835"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19S9U0V/RWqJw7chyKtN2tU" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) Cancel-Lock: sha1:TcLlcoMY1mJncnHfvoJrs1J//c4= sha1:KGZZAdqK9GWATIZ+IEJuf42Op0Q= Xref: news.eternal-september.org comp.lang.ada:26721 Date: 2015-07-09T13:10:34-07:00 List-Id: Björn Lundin writes: > I find that it is. As I stated above, I tend to get loads of different > error when maintaining Python. RuntimeErrors, that surley pylint > would have caught. I don't have too much trouble with this once my stuff is debugged. It helps to program Python in a somewhat Haskell-like style (avoid mutating data and try to follow a consistent datatype discipline at coding time, even though the runtime allows a chaotic mixture of types). That isn't too constraining and it eliminates a lot of potential sources of errors. I probably should use pylint but in practice I don't, and haven't missed it too badly. I've used the Erlang Dialyzer (same idea as pylint) and found that it does miss stuff. Heck, I use Haskell and that misses stuff too. Software Foundations (book about Coq) has been on my study list for quite a while. One of these days... > But pylint is not mandatory to get something 'working' And not being > mandatory, it is not used all the time. And crash ... Yeah, it's a different development style, as the Chris Smith essay I linked to earlier describes. With Python-like languages, it's SOP to write code expecting it to crash, then then rely on the extensive runtime type and data checks to quickly diagnose and fix the crashes. You can get a module to be pretty solid after a few iterations of this. I don't claim this process gives the level of assurance that traditional Ada application areas require, but similarly, most people don't need to drive a military battle tank if they're only going to the corner store.