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.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,f25e853f410d55da X-Google-Attributes: gid103376,public From: Matthew Heaney Subject: Re: Time to join the fold? Date: 1999/01/23 Message-ID: #1/1 X-Deja-AN: 436096627 Sender: matt@mheaney.ni.net References: <78abg4$cnc$1@its.hooked.net> NNTP-Posting-Date: Sat, 23 Jan 1999 12:45:16 PDT Newsgroups: comp.lang.ada Date: 1999-01-23T00:00:00+00:00 List-Id: "Mike Silva" writes: > Now I feel that I would be remiss not to investigate Ada (Ada95 > specifically) as an alternative to migrating our current C code to the > new products, and have ordered some books to start learning the > language. Reading books is good, but be sure to play around with the language as you're learning it by writing and compiling toy examples. (Or not-so-toy examples.) There's no substitute for just getting in there and writing programs. There are a couple of free compilers you can use: either GNAT or student edition from Aonix. As you use the language, feel free to post here on comp.lang.ada questions you have about the language, or the best way to do this or that, etc. In general, comp.lang.ada has a pretty good signal-to-noise ratio, and you should have no trouble getting substantive answers to your questions. > Now for my questions (all assuming that I determine that switching to Ada is > a good idea). First, how long would it take me (a long-time C [and a bit of > C++] programmer) to get productive in Ada? In my case, I came from a Fortran background. My first Ada programs looked a lot like Fortran programs, because I hadn't groked the Ada mind-set yet. The first reaction you'll probably have (if you're like me) is, "Damn this language is a pain in the ass," because nothing you write will compile right way. There is a certain way of thinking about how to write Ada programs (as there is in any language) that will take a few days or weeks to master. However, there's a huge payoff, because once you do get something to compile, there are going to be far fewer bugs in the compiled program. You'll spend your time adding functionality to a working program, instead of trying to figure out why you keep dumping core. To learn a language, I'm a big fan of just getting in there and writing programs. Nothing beats the interaction of programmer and compiler. Reading books is good, because the book will answer questions you had, and give you ideas you didn't think of. But, you'll have those questions and appreciate those ideas, only because you've been writing and compiling real programs. So you can be programming in the C subset of Ada in just a few hours. But understand that you're not done: there's a certain way of thinking in Ada that's different from C, and you have to make an effort to discover what that mind-set is. That's the thing that will take longer. > Second, what is the best way to present the case to my boss? He's > open-minded, but switching to a new language that I don't know is > bound to require plenty of justification. You only need to say one thing: you'll save lots of money. In the end, it's going to be a lot cheaper for a compiler to find bugs at compile time, than it is to pay a human to find the bug at run time. Programming is a labor intensive activity, and any tool you can use to reduce that labor is going to pay hansomly, because the cost of human labor is very high.