[Info-vax] VSI: "Official 8.4-1H1 Launch"

Jan-Erik Soderholm jan-erik.soderholm at telia.com
Tue Jun 16 10:40:21 EDT 2015


David Froble skrev den 2015-06-16 16:14:
> Stephen Hoffman wrote:
>> On 2015-06-15 21:55:59 +0000, David Froble said:
>>
>>> Well, coding is what we do, right?
>>
>> Yes.  Preferably we're all making improvements that mean we're using less
>> code, too.
>
> TANSTAAFL
>
> In reality, it is not less code.  A task is a task, and to do it requires
> whatever it requires.  It may be code in a library, or it may be code
> written for the specific task.  But the code required for the task remains
> pretty much the same.
>
>>> My only problems with item lists are first wrapping my mind around the
>>> concept, and that's not too hard.  The worst problem was the declining
>>> standards for documentation that accompanied VMS's adoption of C as a
>>> System Programming language.
>>>
>>> As for coding, I had little problem with item lists in Basic.  The
>>> RECORD construct is rather flexible and powerful.
>>
>> That's true.  But you're not using assembler here, probably because
>> having fewer lines of code is easier to write and to troubleshoot and to
>> maintain than a solution with more lines of code.
>
> I have used assembler when it was more efficient and / or was the bset tool
> for the task.
>
>> Though the code itself is easy, the C and BASIC sequences for a system
>> service call are still much more code than is necessary.
>>
>> For instance, the following returns a list (an array, technically) of the
>> various host names associated with your current computer:
>>
>> NSArray *hostNames = [[NSHost currentHost] names];
>>
>> or to get a string containing the primary host name with the following:
>>
>> NSString *hostName = [[NSHost currentHost] name];
>>
>> Technically, that stuff can get even shorter using what's called dot
>> notation.  The following is a full command-line program that prints out
>> all of the local host names, and exits.
>>
>> #import <Foundation/Foundation.h>
>> int main(int argc, const char * argv[]) {
>>    @autoreleasepool {
>>        NSLog(@"%@", NSHost.currentHost.names);
>>    }
>> }
>>
>> This is a whole lot less code than what's available on OpenVMS to
>> retrieve that same data, as an example.  Sure, this means we programmers
>> then push this stuff down into a local subroutine or a local subroutine
>> library, and pretty soon we have an extensive library of features and
>> calls that we're maintaining.  (I've open-sourced some of that glue code,
>> as have some other folks.  But I digress.)  Much like moving from Macro32
>> to BASIC, it'd be better if we were rid of our existing morass of glue
>> code, as that'd lower the cost for new users, and even for us folks with
>> existing libraries and tools.
>
> I actually do see differences between code in a library someone else has
> provided, and code in a library that I've written.
>
>  From your perspective, I don't have to re-write what someone else has
> provided.  That is one of the basic concepts in how software has advanced.
>
>  From my perspective, sometimes I have difficulty in using someone else's
> code.  Much more rarely do I have difficulty using code I've written.  Now,
> if I've decently documented code I've written, why isn't it just as good as
> what others have provided?  I say it's better for me, and perhaps it's
> better than what others have provided, but that can get rather subjective.
>
> I've known two basic types of programmers.  Those who understand what they
> are doing, and usually do a good job.  Then there are those who
> "cut-n-paste" code others have written, many times not really understanding
> what it is doing.  For them, things usually don't end well.
>
> So, in today's IT world, we seem to have some of the former, and many of
> the latter.  Using all the available tools, and lack of understanding, some
> really bad stuff has been produced.  Look at the security mess.  I doubt
> some of these so called programmers understand the concepts.  If you give
> some who don't understand binary a bit mask they don't know what to do with
> it.
>
> Back in the day we all learned the basics.  Today, many consider themselves
> "computer literate" and programmers without having a clue about the
> basics.  Some might claim that with the tools available they don't need to
> know the basics.  Some might claim that knowledge isn't important, getting
> the job done is all that matters.
>
> Long ago I declared a rule.  "Before I can design an application to solve a
> problem, I first must be able to solve the problem without a computer."  I
> think that is a pretty good rule.
>
> I think there is another rule that I never declared, but is still rather
> meaningful.  "Before you can use a software tool you need to understand
> what it does and how it does it."  I think this rule is violated quite
> often today.
>
> Some may disagree with me.  Doesn't make them any more right than I am.

You are basicaly talkning around each other...

About reusing code someone else has written... I guess you do not
"reuse" the code available in the Basic RT either? If your application
has need for the "absolute value" of an variable, you do not use ABS%()
but write your own "library routine" instead? Or do you actualy "trust"
the builtin ABS%() function? If so, that talkes against what you
wrote above...









More information about the Info-vax mailing list