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: Mon, 06 Jul 2015 18:30:36 -0700 Organization: A noiseless patient Spider Message-ID: <871tgkah4z.fsf@jester.gateway.sonic.net> References: <974c8db0-c9e8-49d4-8db1-3417ec49217b@googlegroups.com> <87k2uenkcw.fsf@nightsong.com> <87615x9s3o.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="10203"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+48xBLs6z9yHSSfBpHcwTl" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) Cancel-Lock: sha1:7XkvxZwkeCjPuHzyQz3jhs9E0YU= sha1:QwisJt6BV4uVtqOXD9mDvRZNC28= Xref: news.eternal-september.org comp.lang.ada:26669 Date: 2015-07-06T18:30:36-07:00 List-Id: Björn Lundin writes: > But - I often fall into the IndentationException trap... > or find that I did not declare a variable... > I know how to resolve the errors, > but it does not come as natural as Ada compile errors do. > I find it more fragile. Or I am to bad at testing. Yeah, it's a different style, you have to write just a small bit of code, then test it, then write the next bit, etc. But you can bang out working code very fast that way, especially with an interactive interpreter shell. Python is more fragile in that refactoring breaks stuff and the way around that is with comprehensive test automation that takes considerable determination to maintain. It's IMHO best for small to medium sized tasks that aren't complex enough to need Ada's organizational machinery, like up to a few thousand LOC. And 200 LOC of Python can often do as much stuff as 1 KLOC of Ada (Python is a lot slower though, since it's interpreted). For really big programs, you need as much maintenance infrastructure that you might as well use a typed language. I've been using Haskell some, and have been wanting to try the ML family. This article is really good: https://cdsmith.wordpress.com/2011/01/09/an-old-article-i-wrote/ it's mostly about the typed-vs-untyped debate, but gives a useful picture of debugging and untyped languages. >>> http://sourceforge.net/p/avr-ada/wiki/Home/ >> How has that been going for you? > I guess it depends on your standard. For me, it was my first try into > embedded, so I got blinky going, ... Nice, I will give it a try sometime.