Author Topic: 2017 Make with Ada competition  (Read 40679 times)

0 Members and 1 Guest are viewing this topic.

Offline FrankBuss

  • Supporter
  • ****
  • Posts: 2365
  • Country: de
    • Frank Buss
Re: 2017 Make with Ada competition
« Reply #25 on: May 19, 2017, 08:35:10 am »
The magnitude of numbers that need to be represented depends on the problem and hence can and should be part of the problem specification and/or top-level architectural design. That is true for whichever language is used to implement a solution - Ada, C, Forth, Java, xC, Pascal (OK probably not Smalltalk, since it silently flips to BigIntegers whenever overflow occurs :) )

Right, and this is the reason I use int32_t etc. in C, except for simple things like small loop index variables. But the fact that it is possible at all that a program behaviour can change if you use a different compiler, is not a good language design decision in my opinion. I know they did this for efficiency reasons, because if you have 32 bit registers, then it is faster to have 32 bit integers as well, but this doesn't matter anymore nowadays. Would be better the other way around: if the programmer writes a program for an architecture with a CPU with 16 bit registers, the programmer could use 16 bit types, but integer should still be 32 bit. I guess it is no problem with the new generics feature of Ada to use the type you want in libraries as well, depending on your target.
So Long, and Thanks for All the Fish
Electronics, hiking, retro-computing, electronic music etc.: https://www.youtube.com/c/FrankBussProgrammer
 

Online tggzzz

  • Super Contributor
  • ***
  • Posts: 19281
  • Country: gb
  • Numbers, not adjectives
    • Having fun doing more, with less
Re: 2017 Make with Ada competition
« Reply #26 on: May 19, 2017, 09:47:30 am »
The magnitude of numbers that need to be represented depends on the problem and hence can and should be part of the problem specification and/or top-level architectural design. That is true for whichever language is used to implement a solution - Ada, C, Forth, Java, xC, Pascal (OK probably not Smalltalk, since it silently flips to BigIntegers whenever overflow occurs :) )

Right, and this is the reason I use int32_t etc. in C, except for simple things like small loop index variables. But the fact that it is possible at all that a program behaviour can change if you use a different compiler, is not a good language design decision in my opinion. ....

I can tolerate different behaviour with differing int lengths with differing compilers; if the length is relevant then, as you do, you need to specify the size. I like uint_fast_8 and similar, since it allows me to specify both minimum required behaviour plus preferred attributes.

I can't tolerate it where changing the optimisation level changes the behaviour (other than time/space); that indicates a serious problem with the tool.

I can't tolerate it where changing from one version of one compiler to another version of the same compiler changes the behaviour (other than time/space); that indicates a serious problem with the tool.
There are lies, damned lies, statistics - and ADC/DAC specs.
Glider pilot's aphorism: "there is no substitute for span". Retort: "There is a substitute: skill+imagination. But you can buy span".
Having fun doing more, with less
 

Offline Mechatrommer

  • Super Contributor
  • ***
  • Posts: 11536
  • Country: my
  • reassessing directives...
Re: 2017 Make with Ada competition
« Reply #27 on: May 19, 2017, 10:59:58 am »
Engineers should use the tools that will give the best results for the job at hand, not merely some that they are already familiar with.
agree. but i guess it comes down to using the right tool for the job... and the one tool that an engineer already familiar with usually will give the best result for him, and other engineers have their own familiarity to different tools that give the best to them.

C is too often used for insufficient reasons, e.g. "I'm familiar with it" and "I'm a better than average programmer".
not necessarily. some reasons are better/faster access to memory, resource limited friendly, support for many time saving coding and operation logic, such as generic data type function/class (template), operator overloading etc.. the shortest language to type in, we dont want to be bothered with "package body MyProc is", alot of unnecessary ":" and ";" "begin" "end FuncName" etc that supposed to be human readable but not so. longer language, by my dictionary will make software development time even longer, i'm guessing refactoring job will be a nightmare in Ada. afaics, Ada, like pascal, java etc are fucked/mixed up language between readability and some technical linguistic syntaxes. as of the best readable language i know is Basic, and the most technical (short albeit some says cryptics) language is C/C++, the rest are mixed up between the 2. if i want to pick high level language, it will be the Basic but sadly its dying, and nobody want to further expand it esp in embedded system, granted it sucks when it comes to OOP, but the best human readable language.
Nature: Evolution and the Illusion of Randomness (Stephen L. Talbott): Its now indisputable that... organisms “expertise” contextualizes its genome, and its nonsense to say that these powers are under the control of the genome being contextualized - Barbara McClintock
 

Offline legacy

  • Super Contributor
  • ***
  • !
  • Posts: 4415
  • Country: ch
Re: 2017 Make with Ada competition
« Reply #28 on: May 19, 2017, 11:09:11 am »
I believe the best way to appreciate Ada is finding a job in avionics, so you see where and why Ada helps.

how do you train them if its not accesible? (direct memory access). higher level language boundary check comes at a price of degraded memory access speed by boundary check on every access call. .

Ada is not only a pure language, it's a process with a *mind approach*. We have sections called "unsafe". These sections require special handling when you manage them, and they propagate constraints to the whole project. If a constraints is not respected, Ada doesn't compile!

You can have low level sections in Ada, which directly access memory without any check, but you must define it as "unsafe", therefore the module propagate the information to the builder which is now aware of  it as well as everybody, including those who are in the testing team. Everybody are aware it's a weakness! You must define modules through interfaces! And it's a must! C doesn't care about it, it's so wild that you can just use cpp to includes headers file, and who cares? When you access a module define "unsafe" in Ada there are a lot of checks at compile time.

These tricks help to catch mistakes, especially during the "system integration" process, when sources from different teams are merged together!

You can also ask the compiler to inject testing modules into the "unsafe" module, this helps during the testing activity, as the module is "unsafe" it MUST be tested more carefully, and then approved, and since it's interface is also "unsafe" then there are restrictions in the usage.

Ada, in first place, teaches you how you have to organize your work! Ada is fab team working process because it teaches how people has to manage the "source life cycle", from the prototype, to the testing, to the production, when you can progressively remove construction constraints.

C is a wild language, full of #ifdef branches, you can put assembly inline in the middle of a C file, and nobody cares. C requires external tools like "Code Purify" (shitty tool) which injects a lot of shit in order to provide a limited "unit test" capability. C doesn't care on what you do when you pass information between two modules, and doesn't suggest neither helps you to design test-modules.

Ada cares on boundaries at compile time, or at run time if you can allow it. It helps to assure "you are not out by one" when you implement a loop which needs to use an index to point to an array.

And all of these are native features! You don't need any shitty external tool.

Ada requires *fifty times* the effort you need to learn a wild language like C, but once learned it shows how C requires *ten times* the effort you need with Ada to achieve the same purpose!

At the end, it's a gain  :popcorn:
« Last Edit: May 19, 2017, 11:25:39 am by legacy »
 

Offline Mechatrommer

  • Super Contributor
  • ***
  • Posts: 11536
  • Country: my
  • reassessing directives...
Re: 2017 Make with Ada competition
« Reply #29 on: May 19, 2017, 11:52:23 am »
I believe the best way to appreciate Ada is finding a job in avionics, so you see where and why Ada helps...  They help to catch mistakes, especially during the "system integration" process, when sources from different teams are merged together!...  C requires ten times the effort you need with Ada to do the achieve the same purpose!
then i guess in Avionics the place it deserves to be. Ada is not a new name to me, unlike java, i've heard it since the beginning its just i have no chance at experiencing it due to inaccessible IDE. but it failure to even listed in top 10 rank after many decades shows something is not right. if its really that good an effort should be made to make aware to the community esp universities and new learners. just to be fair, they must learn all the languages and free to pick what they like. survival of the fittest. as for java, the not so far syntax from C/C++, i believe its winning because of it "cross platform" feature in mind with its JRE engines for many platforms/machines provided by the language IDE developer (Sun Microsystems), hence productivity, demand and the poll of money is there, as speculations and prospects helped it to jump high. it seems the "programmers aided compiler" as you've described has not won much place in the heart of paid/unpaid programmers. now back to topic, i have no objection to the contest, i even hope we can come up with something positive out of it. its just that from time to time we heard people chiming in with inadequate excuses just as if this is the holy spirit and others should be rendered in obsoletion. but no, with the "lack of feature", "doesnt care" compiler of the unsafe C/C++, it still stands at #2 after java all this while. Ada group has a long way to go... wish them luck.
« Last Edit: May 19, 2017, 12:15:23 pm by Mechatrommer »
Nature: Evolution and the Illusion of Randomness (Stephen L. Talbott): Its now indisputable that... organisms “expertise” contextualizes its genome, and its nonsense to say that these powers are under the control of the genome being contextualized - Barbara McClintock
 

Online tggzzz

  • Super Contributor
  • ***
  • Posts: 19281
  • Country: gb
  • Numbers, not adjectives
    • Having fun doing more, with less
Re: 2017 Make with Ada competition
« Reply #30 on: May 19, 2017, 02:10:57 pm »
C is too often used for insufficient reasons, e.g. "I'm familiar with it" and "I'm a better than average programmer".
not necessarily. some reasons are better/faster access to memory, resource limited friendly, support for many time saving coding and operation logic, such as generic data type function/class (template), operator overloading etc.. the shortest language to type in, we dont want to be bothered with "package body MyProc is", alot of unnecessary ":" and ";" "begin" "end FuncName" etc that supposed to be human readable but not so. longer language, by my dictionary will make software development time even longer, i'm guessing refactoring job will be a nightmare in Ada. afaics, Ada, like pascal, java etc are fucked/mixed up language between readability and some technical linguistic syntaxes. as of the best readable language i know is Basic, and the most technical (short albeit some says cryptics) language is C/C++, the rest are mixed up between the 2. if i want to pick high level language, it will be the Basic but sadly its dying, and nobody want to further expand it esp in embedded system, granted it sucks when it comes to OOP, but the best human readable language.

And from that we can accurately assess your skillset and the types of development and programs you have written.

You can only have been working on very small and simple tasks, and/or have had the task explained to you in detail before you begin. Why? Because in larger, more complex and more challenging jobs typing occupies a miniscule proportion of design time. Much much more is spent on finding out and understanding what needs to be done, and then testing to see that you have done it.

You cannot have used a modern strongly typed language for anything more than toy examples. Why? Because if you had you would realise that C/C++ actively prevents complex fast and accurate refactoring. If you understood what's involved in C/C++ compilation, you would know why that has to be the case. You would also realise that you get the IDE to do most of the typing for you; "control-space" is a wonderful key!

Your prejudices opinions are based in ignorance.

If you had ever had to do a difficult task where it seriously mattered (i.e. lawyers, lawsuits, certifications) that you got correct results, you would be very concerned about using C.
There are lies, damned lies, statistics - and ADC/DAC specs.
Glider pilot's aphorism: "there is no substitute for span". Retort: "There is a substitute: skill+imagination. But you can buy span".
Having fun doing more, with less
 

Offline Sal Ammoniac

  • Super Contributor
  • ***
  • Posts: 1663
  • Country: us
Re: 2017 Make with Ada competition
« Reply #31 on: May 19, 2017, 02:43:56 pm »
Because if you had you would realise that C/C++ actively prevents complex fast and accurate refactoring.

How do you figure this? I do it all the time.
Complexity is the number-one enemy of high-quality code.
 

Offline Sal Ammoniac

  • Super Contributor
  • ***
  • Posts: 1663
  • Country: us
Re: 2017 Make with Ada competition
« Reply #32 on: May 19, 2017, 02:49:17 pm »
C is too often used for insufficient reasons, e.g. "I'm familiar with it" and "I'm a better than average programmer".

The primary reason we use C (and C++) is tools support. Most of these other languages (Ada, Rust, etc.) have minimal tools support. Typically just command-line tools. Debugging capabilities are usually limited too.

I'd be more likely to consider one of these languages for production work if they had first class support in IAR or Keil.
Complexity is the number-one enemy of high-quality code.
 
The following users thanked this post: JPortici

Offline GeorgeOfTheJungle

  • Super Contributor
  • ***
  • !
  • Posts: 2699
  • Country: tr
Re: 2017 Make with Ada competition
« Reply #33 on: May 19, 2017, 02:55:15 pm »
Quote
C is too often used for insufficient reasons, e.g. "I'm familiar with it" and "I'm a better than average programmer"

Or "I have low level stuff to do and don't want to have deal with 20 unnecessary layers of abstraction, thank you very much"
The further a society drifts from truth, the more it will hate those who speak it.
 

Online tggzzz

  • Super Contributor
  • ***
  • Posts: 19281
  • Country: gb
  • Numbers, not adjectives
    • Having fun doing more, with less
Re: 2017 Make with Ada competition
« Reply #34 on: May 19, 2017, 03:09:46 pm »
C is too often used for insufficient reasons, e.g. "I'm familiar with it" and "I'm a better than average programmer".

The primary reason we use C (and C++) is tools support. Most of these other languages (Ada, Rust, etc.) have minimal tools support. Typically just command-line tools. Debugging capabilities are usually limited too.

I'd be more likely to consider one of these languages for production work if they had first class support in IAR or Keil.

Tool support and good libraries are very important - and lack of them is an entry barrier for new languages. However, for embedded programming and established languages, those are less of a barrier.

It does mean that a new language has to offer significant advantages over C, and most don't. I've used that as a reason to not bother to use many "fashionable" languages.
There are lies, damned lies, statistics - and ADC/DAC specs.
Glider pilot's aphorism: "there is no substitute for span". Retort: "There is a substitute: skill+imagination. But you can buy span".
Having fun doing more, with less
 

Online tggzzz

  • Super Contributor
  • ***
  • Posts: 19281
  • Country: gb
  • Numbers, not adjectives
    • Having fun doing more, with less
Re: 2017 Make with Ada competition
« Reply #35 on: May 19, 2017, 03:15:19 pm »
Quote
C is too often used for insufficient reasons, e.g. "I'm familiar with it" and "I'm a better than average programmer"

Or "I have low level stuff to do and don't want to have deal with 20 unnecessary layers of abstraction, thank you very much"

Abstraction can both obscure and enable; getting the right balance is vital. Many languages fail (e.g. C++), but not all languages.

In particular, for embedded languages like Ada and xC can be excellent.

(xC is effectively Occam with FPGA-like IO capabilities, e.g. specify a 32-bit serialised output starts on a specific clock cycle, or wait until either input arrives or a timeout happens, and then proceed with a 10ns latency also noting the clock cycle when the input occurred.)
« Last Edit: May 19, 2017, 03:18:04 pm by tggzzz »
There are lies, damned lies, statistics - and ADC/DAC specs.
Glider pilot's aphorism: "there is no substitute for span". Retort: "There is a substitute: skill+imagination. But you can buy span".
Having fun doing more, with less
 

Offline Mechatrommer

  • Super Contributor
  • ***
  • Posts: 11536
  • Country: my
  • reassessing directives...
Re: 2017 Make with Ada competition
« Reply #36 on: May 19, 2017, 04:13:43 pm »
You can only have been working on very small and simple tasks, and/or have had the task explained to you in detail before you begin. Why? Because in larger, more complex and more challenging jobs typing occupies a miniscule proportion of design time. Much much more is spent on finding out and understanding what needs to be done, and then testing to see that you have done it.
well... its very complex, not much typing to do, and you dont know what to do in advance.. and lawyer is ready to bust your arse, and its very complex.... well, its very fascinating and self explanatory...  ::) more like management BS to me... i'm sorry for your bad experience on certain brand name inconsistent compiler/tool behaviour.
Nature: Evolution and the Illusion of Randomness (Stephen L. Talbott): Its now indisputable that... organisms “expertise” contextualizes its genome, and its nonsense to say that these powers are under the control of the genome being contextualized - Barbara McClintock
 

Online tggzzz

  • Super Contributor
  • ***
  • Posts: 19281
  • Country: gb
  • Numbers, not adjectives
    • Having fun doing more, with less
Re: 2017 Make with Ada competition
« Reply #37 on: May 19, 2017, 05:58:37 pm »
You can only have been working on very small and simple tasks, and/or have had the task explained to you in detail before you begin. Why? Because in larger, more complex and more challenging jobs typing occupies a miniscule proportion of design time. Much much more is spent on finding out and understanding what needs to be done, and then testing to see that you have done it.
well... its very complex, not much typing to do, and you dont know what to do in advance.. and lawyer is ready to bust your arse, and its very complex.... well, its very fascinating and self explanatory...  ::) more like management BS to me... i'm sorry for your bad experience on certain brand name inconsistent compiler/tool behaviour.

I really don't know what you are talking about.

You have no idea of my experience and background, but to give you a taste...

It does concentrate your mind if your code can kill someone even if it behaves correctly according to specification.
Alternatively, how about developing products where, if you make a mistake, you only find out 3 months later and a re-spin costs 8 times your annual salary.
And finally, working in an environment where the first task is to find out what you want to do, and then find a way of doing it. After that, doing it is trivially easy!
There are lies, damned lies, statistics - and ADC/DAC specs.
Glider pilot's aphorism: "there is no substitute for span". Retort: "There is a substitute: skill+imagination. But you can buy span".
Having fun doing more, with less
 

Offline Mechatrommer

  • Super Contributor
  • ***
  • Posts: 11536
  • Country: my
  • reassessing directives...
Re: 2017 Make with Ada competition
« Reply #38 on: May 19, 2017, 06:30:20 pm »
It does concentrate your mind if your code can kill someone even if it behaves correctly according to specification.
take it easy mate, dont put too much pressure on yourself. you can get the safest car in the world and still can kill somebody.

Alternatively, how about developing products where, if you make a mistake, you only find out 3 months later and a re-spin costs 8 times your annual salary.
thats why you dont make sloppy code, lousy test set etc. if what you are trying to say is that a great tool will not make you kill somebody by just pressing a "integrity test" button and then laying about while it finish testing, then i'm still not buying it. if you can afford to pay the tool, then why not, but dont impose it on everybody else.

And finally, working in an environment where the first task is to find out what you want to do, and then find a way of doing it. After that, doing it is trivially easy!
thats call finding out customers/users need or interest or market/niche prospects, and then proceed with engineering processes decision. after that really doing it (on the decided methodology) because we are specialized in the field. its a normal workflow, but we are talking about the last part in this very thread, the first 2 parts is out of topic.
Nature: Evolution and the Illusion of Randomness (Stephen L. Talbott): Its now indisputable that... organisms “expertise” contextualizes its genome, and its nonsense to say that these powers are under the control of the genome being contextualized - Barbara McClintock
 

Online tggzzz

  • Super Contributor
  • ***
  • Posts: 19281
  • Country: gb
  • Numbers, not adjectives
    • Having fun doing more, with less
Re: 2017 Make with Ada competition
« Reply #39 on: May 19, 2017, 06:47:55 pm »
I will remind you, and anyone else, that your comments have omitted your context, in which you believe that having a more verbose language makes development much slower. It has been pointed out to you that typing time is a trivial part of development for interesting non-trivial purposes.

However, you still persist in thinking...

It does concentrate your mind if your code can kill someone even if it behaves correctly according to specification.
take it easy mate, dont put too much pressure on yourself. you can get the safest car in the world and still can kill somebody.

And your point is?

Quote
Alternatively, how about developing products where, if you make a mistake, you only find out 3 months later and a re-spin costs 8 times your annual salary.
thats why you dont make sloppy code, lousy test set etc. if what you are trying to say is that a great tool will not make you kill somebody by just pressing a "integrity test" button and then laying about while it finish testing, then i'm still not buying it. if you can afford to pay the tool, then why not, but dont impose it on everybody else.

No, it is about using the right tool for a job, and that a tiny amount of extra typing is trivial - and probably beneficial.

Quote
And finally, working in an environment where the first task is to find out what you want to do, and then find a way of doing it. After that, doing it is trivially easy!
thats call finding out customers/users need or interest or market/niche prospects, and then proceed with engineering processes decision. after that really doing it (on the decided methodology) because we are specialized in the field. its a normal workflow, but we are talking about the last part in this very thread, the first 2 parts is out of topic.

No. It is called research into concepts/products that do not yet exist, so there are no customers you can go and ask!

As I said, you comments are revealing about your background.
There are lies, damned lies, statistics - and ADC/DAC specs.
Glider pilot's aphorism: "there is no substitute for span". Retort: "There is a substitute: skill+imagination. But you can buy span".
Having fun doing more, with less
 

Offline Mechatrommer

  • Super Contributor
  • ***
  • Posts: 11536
  • Country: my
  • reassessing directives...
Re: 2017 Make with Ada competition
« Reply #40 on: May 19, 2017, 07:06:46 pm »
I will remind you, and anyone else, that your comments have omitted your context, in which you believe that having a more verbose language makes development much slower. It has been pointed out to you that typing time is a trivial part of development for interesting non-trivial purposes.
correct. and you wander off topic even further that has nothing to do with coding...

No. It is called research into concepts/products that do not yet exist, so there are no customers you can go and ask!
oh invention? i hope you are not doomed to failure on most projects you ventured.

As I said, you comments are revealing about your background.
and you assume what that is?
Nature: Evolution and the Illusion of Randomness (Stephen L. Talbott): Its now indisputable that... organisms “expertise” contextualizes its genome, and its nonsense to say that these powers are under the control of the genome being contextualized - Barbara McClintock
 

Offline legacy

  • Super Contributor
  • ***
  • !
  • Posts: 4415
  • Country: ch
Re: 2017 Make with Ada competition
« Reply #41 on: May 19, 2017, 09:32:27 pm »
The primary reason we use C (and C++) is tools support. Most of these other languages (Ada, Rust, etc.) have minimal tools support.

Green hills Adamulti supports ADA and comes with a full debugger support.
It costs money, that's another reason why I said "find a job in avionics if you want experiment Ada".
They have money, they buy professional tools.
 

Offline legacy

  • Super Contributor
  • ***
  • !
  • Posts: 4415
  • Country: ch
Re: 2017 Make with Ada competition
« Reply #42 on: May 19, 2017, 09:37:15 pm »
then i guess in Avionics the place it deserves to be.

eh, it's sad, but it's the sadly the Truth. I have never seen Ada in other job-areas. We introduced Ada in Automotive/FOM, but it's not at the same professional level. I believe due to the cost factor  :-//
 

Offline legacy

  • Super Contributor
  • ***
  • !
  • Posts: 4415
  • Country: ch
Re: 2017 Make with Ada competition
« Reply #43 on: May 19, 2017, 09:42:26 pm »
If you had ever had to do a difficult task where it seriously mattered (i.e. lawyers, lawsuits, certifications) that you got correct results, you would be very concerned about using C.

Exactly the point!
 

Online tggzzz

  • Super Contributor
  • ***
  • Posts: 19281
  • Country: gb
  • Numbers, not adjectives
    • Having fun doing more, with less
Re: 2017 Make with Ada competition
« Reply #44 on: May 19, 2017, 10:53:04 pm »
Because if you had you would realise that C/C++ actively prevents complex fast and accurate refactoring.

How do you figure this? I do it all the time.

Consider the effects of #defines
Consider the consequences of templates being a a Turing-complete language in their own right.
Consider why it takes so long to compile C++ from scratch.
There are lies, damned lies, statistics - and ADC/DAC specs.
Glider pilot's aphorism: "there is no substitute for span". Retort: "There is a substitute: skill+imagination. But you can buy span".
Having fun doing more, with less
 

Offline JPortici

  • Super Contributor
  • ***
  • Posts: 3452
  • Country: it
Re: 2017 Make with Ada competition
« Reply #45 on: May 19, 2017, 11:45:05 pm »
The primary reason we use C (and C++) is tools support. Most of these other languages (Ada, Rust, etc.) have minimal tools support.

Green hills Adamulti supports ADA and comes with a full debugger support.
It costs money, that's another reason why I said "find a job in avionics if you want experiment Ada".
They have money, they buy professional tools.

wouldn't you rephrase that as "they have a lot of money, they can buy pricey tools"?
after all, given a skilled programmer you could write secure C code, i think.

Imagine you are a smaller business, still in those segments (automotive-aftermarket for example). what would you rather do, spend the money on specialist tools and a programmer that will be asking a lot because it's kind of a niche language or pay a good C programmer that can achieve the same result... but costing way less because they are a dime a dozen and you have free (or at least cheap in comparison) developement tools?
 
(no, i'm not that experienced. no, i never had to work in situations where lawyers and others people's lives are at stake. i'm just using myexperience, albeit limited, and my common sense. please, tell me if i'm missing something)
« Last Edit: May 19, 2017, 11:50:26 pm by JPortici »
 

Online tggzzz

  • Super Contributor
  • ***
  • Posts: 19281
  • Country: gb
  • Numbers, not adjectives
    • Having fun doing more, with less
Re: 2017 Make with Ada competition
« Reply #46 on: May 20, 2017, 12:30:48 am »
The primary reason we use C (and C++) is tools support. Most of these other languages (Ada, Rust, etc.) have minimal tools support.

Green hills Adamulti supports ADA and comes with a full debugger support.
It costs money, that's another reason why I said "find a job in avionics if you want experiment Ada".
They have money, they buy professional tools.

wouldn't you rephrase that as "they have a lot of money, they can buy pricey tools"?
after all, given a skilled programmer you could write secure C code, i think.

Imagine you are a smaller business, still in those segments (automotive-aftermarket for example). what would you rather do, spend the money on specialist tools and a programmer that will be asking a lot because it's kind of a niche language or pay a good C programmer that can achieve the same result... but costing way less because they are a dime a dozen and you have free (or at least cheap in comparison) developement tools?
 
(no, i'm not that experienced. no, i never had to work in situations where lawyers and others people's lives are at stake. i'm just using myexperience, albeit limited, and my common sense. please, tell me if i'm missing something)

You are missing several things.

Demonstrably skilled programmers do continually make many mistakes with C/C++.
Those with significant experience of both C and Ada usually claim Ada gives better results where it is used.
You have to compare the cost of the tools with the employment costs of the engineers (typically 2*salary).
You have to compare the cost of the tools with the cost of making a mistake that would have been avoided if the tools had been used.
The cost to you is irrelevant
You have ignored the difficulty of proving (e.g. to a judge/jury) that you have taken all necessary steps. Common sense is irrelevant in that context.
There are lies, damned lies, statistics - and ADC/DAC specs.
Glider pilot's aphorism: "there is no substitute for span". Retort: "There is a substitute: skill+imagination. But you can buy span".
Having fun doing more, with less
 

Offline NorthGuy

  • Super Contributor
  • ***
  • Posts: 3137
  • Country: ca
Re: 2017 Make with Ada competition
« Reply #47 on: May 20, 2017, 02:08:56 am »
Common sense is irrelevant in that context.

Common sense is always relevant. Cogito ergo sum.

People are crazy about safety. They invented safe programming languages and used them to create the most overbloated and dysfunctional software that ever existed. You think looking at the results would give them a clue that something is wrong with the approach. Not in a slightest. They want yet better, that is yet safer languages.

What I value in the language is freedom - ability to do what I want with it. If, instead, it stands in my way, I will try to avoid it a all costs. Language safety is of no concern to me. If I do something stupid such as going over array boundaries, so be it. I know I'm going to make mistakes, and there's nothing wrong with this. I can test, and I can fix. Does such approach makes development slower? I don't think so. More freedom means simpler and less bloated programs. Simpler programs take less development time. Also, they are likely to have less bug.

I know what makes my development slower. It's reading Internet forums instead of working. But there's a difference between knowing the path and walking the path  :-DD

 

Offline JPortici

  • Super Contributor
  • ***
  • Posts: 3452
  • Country: it
Re: 2017 Make with Ada competition
« Reply #48 on: May 20, 2017, 05:55:32 am »
You are missing several things.

I am aware i am, that's why i asked

Quote
Demonstrably skilled programmers do continually make many mistakes with C/C++.
after all, humans make mistakes

Those with significant experience of both C and Ada usually claim Ada gives better results where it is used.

Quote
You have to compare the cost of the tools with the employment costs of the engineers (typically 2*salary).

but i would expect that since that's a more niche language tool that costs a lot for a small business, the salary for somebody that know it well would be that higher as well. bottom line, can smaller businesses in less critical areas afford the price of both tools and man power?
I assume that the goal of this competition is to increase adoption or at least make developers curious about it. Okay, where is the free compiler and debugger for my platform of choice? I am fine with some limitations so i can at least check it out
 
Quote
You have to compare the cost of the tools with the cost of making a mistake that would have been avoided if the tools had been used.
The cost to you is irrelevant
You have ignored the difficulty of proving (e.g. to a judge/jury) that you have taken all necessary steps. Common sense is irrelevant in that context.

Very true, one buy insurance before the accident. about common sense, i think that the jury's/judge common sense is very relevant, more than actual proofs, sadly

This is only my opinion, of course
 

Online tggzzz

  • Super Contributor
  • ***
  • Posts: 19281
  • Country: gb
  • Numbers, not adjectives
    • Having fun doing more, with less
Re: 2017 Make with Ada competition
« Reply #49 on: May 20, 2017, 06:10:26 am »
You are missing several things.

I am aware i am, that's why i asked

Quote
Demonstrably skilled programmers do continually make many mistakes with C/C++.
after all, humans make mistakes

Those with significant experience of both C and Ada usually claim Ada gives better results where it is used.

Quote
You have to compare the cost of the tools with the employment costs of the engineers (typically 2*salary).

but i would expect that since that's a more niche language tool that costs a lot for a small business, the salary for somebody that know it well would be that higher as well. bottom line, can smaller businesses in less critical areas afford the price of both tools and man power?
I assume that the goal of this competition is to increase adoption or at least make developers curious about it. Okay, where is the free compiler and debugger for my platform of choice? I am fine with some limitations so i can at least check it out
 
Quote
You have to compare the cost of the tools with the cost of making a mistake that would have been avoided if the tools had been used.
The cost to you is irrelevant
You have ignored the difficulty of proving (e.g. to a judge/jury) that you have taken all necessary steps. Common sense is irrelevant in that context.

Very true, one buy insurance before the accident. about common sense, i think that the jury's/judge common sense is very relevant, more than actual proofs, sadly

This is only my opinion, of course

I hope your placement of brackets in your programs is less error-prone than your placement of "quote" tags above! (One of the lines that you appear to write was in fact written by me).

Knowing that humans make mistakes is a reason for preferring languages that help detect and avoid some important classes of mistake.

Having free compilers/tools is very helpful, but is not sufficient. Industry inertia should never be underestimated.

General principle about insurance: on average you pay more for insurance than you get back from insurance. With that in mind...
I've never heard of any insurance for being late to market or developing poor quality products.
I suspect that buying insurance for a useful amount of product liability would be very expensive.
There are lies, damned lies, statistics - and ADC/DAC specs.
Glider pilot's aphorism: "there is no substitute for span". Retort: "There is a substitute: skill+imagination. But you can buy span".
Having fun doing more, with less
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf