Jump to content

Scripter or Builder ?


autonug
 Share

You are about to reply to a thread that has been inactive for 1019 days.

Please take a moment to consider if this thread is worth bumping.

Recommended Posts

11 hours ago, Rolig Loon said:

No, the statement that it 

is quite correct.  I didn't say that it must be.  Prior experience can blind you to new possibilities and lead you to false assumptions.  I've seen it happen many times.  So don't get cocky.  That's all.

i agree with the point you are making

my experience is hiring technical practitioners to roles within our organisation, including programmers

when we are new to a language then our experience in other languages can be a hindrance to us, during the initial learning phase. Like as an adult and we are English learning say Russian. We tend to think in English to begin with, translate it to Russian before we vocalise. When we hear russian in the initial learning phase, we tyoically translate it to english to try to understand what we just heard. We don't think in Russian. Unlike a russian child learning Russian who knows no English

an example of thinking in a computer language environment. A dev shop who worked with my then organisation, had a test for programmer applicants way back in the then brave new world of visual object-oriented programming on the Windows platform

the test question: How well do you speak Delphi 3 ?

the test question body was: Build a Windows program with Delphi 3 that contains and displays the following strings in a Memo control ["the rain", "in spain" "falls mainly" "on the plain"]. When the user clicks a Button control, sort the strings into lexicographic order beginning with the 4th character ending with the last character

almost all applicants who completed the test, most of who were coming from other language environments - including procedural Pascal. Delphi 3 being a new environment for many commercial dev shops at the time - wrote a version of a looping sort routine in the button click event. Those who did this never got hired. As the test giver's expected answer to the question "How well do you speak Delphi 3?" was:

procedure TestForm.SortButtonClick(Sender: TObject);
   function SortOn4thChar(List: TStringList; X, Y: Integer): Integer;
   begin
      if Copy(List[X], 4, Length(List[X]) - 3) <= Copy(List[Y], 4, Length(List[Y] - 3) then
         Result := -1
      else
         Result := 1;
   end;
begin
   Memo.Lines.CustomSort(SortOn4thChar);
end;

this is your point I think. Knowing another computer language doesn't always help us when learning a new language in a new and different environment. It can sometimes hinder our learning and understanding of the environment

like when we find as in the above example, that our own coded string sort routine - based on our understanding of a previous programming language environment - does run/execute in a Delphi 3 application, then we can easily be satisfied with this, and never look any further into how we can better use the language environment which we are now coding in

or as the person who told me about their dev company test from those days. Has the applicant read the manual. If they have do they understand it. If they do understand then have they applied their understanding to the environment they are now coding in

about cocky people

i quite enjoy over-confident people at interview. I enjoy mostly though people (both over and under confident) who listen carefully at interview when I tell them to think about their interview responses, as if they make it past this interview they will be given a technical test which examines their understanding of the answers they are about to give to the interview questions I am about to ask them

  • Like 3
Link to comment
Share on other sites

44 minutes ago, ellestones said:

when we are new to a language then our experience in other languages can be a hindrance to us, during the initial learning phase.

Exactly.  Not merely in the the initial phase either.  I am reasonably fluent in several languages, yet I find that I will sometimes substitute a German word for a Swedish one, and I often guess wrong about which prepositions to use ("bei?", "zu?","von?") in colloquial German, because I expect them to behave like their English cognates. Having learned one language certainly alerts me to the sorts of things to look for in another one, but then my brain expects the new language to have more in common with the previous ones than it really does. 

That was really my point, as you re-explained it.  Prior experience at almost anything gives you a head start, but it can also fool you into thinking that you know more about the new environment than you really do.  A total novice doesn't have the head start but also doesn't have the preconceived expectations.  On balance, an experienced programmer will learn LSL faster than a rank novice but will still trip over familiar-looking things that aren't what they seem.

  • Like 1
Link to comment
Share on other sites

4 hours ago, Rolig Loon said:

Exactly. Not merely in the initial phase either

yes that is true also in the circumstances you have described

I contributed what I have more for college students like @autonug who may end up reading this thread.  When they graduate they are going to be in a job interview or presenting an application for funding. Someone like me is going to sitting in the end chair of the interview panel. And what that person will be looking for is not only does the applicant know what it is they are applying for, but also are able to show that they are actually applying it in their submission 

for example. An applicant includes LSL in their portfolio. What will be looked at is not that there is a working LSL app, that it works is expected. What will be looked at is, how well reflected is the environment in their portfolio code submission

Link to comment
Share on other sites

3 hours ago, ellestones said:

An applicant includes LSL in their portfolio.

This scares the hell out of me. Anybody who aspires to employment should immediately delete SL from their computer and go download the Flutter SDK or something a future job market might conceivably value. There's simply nothing for them here.

Link to comment
Share on other sites

2 hours ago, Qie Niangao said:

This scares the hell out of me. Anybody who aspires to employment should immediately delete SL from their computer and go download the Flutter SDK or something a future job market might conceivably value. There's simply nothing for them here.

every applicant pretty much lists C/C++, C#, Java, JScript, Android, .NET/Mono, LAMP/WAMP, SQL, XML, Python, CSS/HTML, etc etc. All the standard things along with the minimum standard qualifications: BSc, BTech, etc. When they don't have the expected standards then applicants don't make it past the intial stage

a thing that lots of job applicants don't realise is that most job applications in medium to large organisations at the initial stage, are excluded by a relatively junior Human Resources staff member who has no technical knowledge of the job advertised.  The staff member works from a criteria list. Sorting the applications into 2 piles. Pile A is those who have the listed qualifications and at least some of the language/technical requirements. Pile B is those who don't. Nobody other than that staff member ever gets to see Pile B

pile A then goes up to that person's Human Resources supervisor, who then does another exclusion sort. This person looking at things like job history, are the referees technical or are they character referees only. If no technical referee, past or current employer, or in the case of students then a faculty member, when not then its Pile B. Nobody else gets to see them either

those still in Pile A go to the department. Where a medium-level staff member will do another exclusion sort. Medium-level meaning at least a team leader level person, not the boss. Leaving about 3 to 8 potential candidates remaining. Its those that remain that I help to interview - their first screen interview. And as all those remaining have met all the standards, then when I am reviewing their portfolios prepping for the interviews, , along with the notes prepared by the medium-level person,  what I look for is: What else does the applicant bring with them ?

if a person doesn't bring something out-of-the-ordinary with them, something that sets them apart from the other applicants, then its either: They have a pretty traditional conservative approach to their work, or they are just wanting a job. When so then a person has to be exceptionally gifted to progress much further

LSL would in this process be something out-of-the-ordinary. In the same vein as a portfolio that includes stuff like Unity, micro controllers, robotic toys, etc. Little if anything to do with the job being applied for, but an open expression of a curious, lively and enquiring mind. Its this latter I pay close attention too. Sure the successful applicant has to do all the usual database client server work as expected. And No, being a whizz in LSL or winning a local heat of Robot Wars won't all by itself get them the job. But it does help to show what else they have about them. Something that I, and those like me who do the technical review process, are looking for

after the applicants get through the screening interview and tests then the boss gets the short list. Anything from 1 to 3 final candidates (sometimes none as nobody from the current crop of applicants made it that far). The boss gets those who do remain back for another interview. At which the only remaining criteria is: Can the boss see the candidate working well within their team

sometimes a person at that final interview can blow their opportunity. When the boss asks the candidate about their experiences, the boss already knows that you (the candidate) are technically and ably qualified for the job. You wouldn't be at the final interview if you weren't. The boss is not impressed by a recital of your technical chops. What they are interested in finding out is, what kind of person you are

  • Like 2
Link to comment
Share on other sites

Well, you are both (Rolig and ellestones) totally mistaken, and it's perfectly simple to demonstrate it to you.

Remember back when you first got control of a computer and you wanted to learn how to programme it. Just like the rest of us, you had to open the book at page 1, because you had no idea what to do. So you started at page 1 and probably printed "Hello world" on the screen.

Now we move on in time, and you have become a competant programmer in the high level language that was presented to you on day 1. Let's say it was a language that more or less used the C syntax - curly brackets and semi-colons - most languages end up using it even if they didn't start out that way. But now you want to learn LSL. What do ya know - you notice that it also uses curly brackets and semi-colons, so you're part way there without even typing anything. A few minutes more and you discover that it uses for, while, and do-while loops, variables, scopes, and whatnot. just like you're used to. Heck, you're almost there, and you haven't even written the first line yet. This is great!

From that point on, you notice some differences to what you're used to, but, being a programmer already, and thinking like a programmer, you quickly get the hang of those, because they are very simple concepts, and don't take much in the way of brain power.

You see the difference? When you started at page 1, you hadn't a clue how to go about writing a computer programme, and it took you some time to get to understand what you were doing. Some time later, when you started with another language, you felt almost at home, because, apart from a few differences, it was pretty much what you were used to. It's obvious to anyone that being a competent programmer is a huge advantage when starting with another high level programming language,  including LSL.

What I've found through the 30+ years that I've been programming in a fair number of languages - high and low - is that, when I've  come back to a language after being away from it and using another one for some time, the language that I came back to fights me tooth and nail for a while. Stuff I used to write with no problems whatsoever is suddenly not as straight forward to get right straight away. When I leave languages for a while, they fight me for a while when I get back.

Rolig, you said that you based your statement on some programmers who had said something like LSL isn't all that straight forward, but you should have asked them to honestly say whether or not learning to write in LSL was easier for them than if they'd never learned how to write a programme at all. They would all have said it was easier for them. Any who didn't, wasn't a programmer in the first place. You made an incorrect statement. I don't know why you made it and I especially don't know why you defend it, because it's totally self-evident that the statement was wrong.

 

  • Like 1
Link to comment
Share on other sites

On 12/19/2018 at 7:21 PM, autonug said:

I was wondering which of Builder or Scripter option has better demand/supply ratio to dive in, as scripting in SL or building in SL will both be new to me and I want to start with one at the moment. I personally have felt there are a lots of builders compared to scripters, so scripting can be a better choice, but I can be wrong.

With that persepctive, yes definitely. For mesh there is far more supply than demand. For scripting there is more demand than supply. So if you want to make a few Lindens and have enough basic understanding of programming you can do it at all, go for scripting.

But most important: do what you want to. You aren't going to make significant money from it anyway so your personal satisfaction is what really matters.

Edited by ChinRey
  • Like 3
Link to comment
Share on other sites

On 12/19/2018 at 1:08 PM, Rolig Loon said:

Whatever.  The point is that prior scripting experience is likely to be more of a disadvantage than a help because it will give you a cocky feeling that you know more about the language than you think you do.

A mentor of mine got his PhD in computer science from MIT. He told me that the entry level "C" programming course actually had a no-requisite of BASIC programming experience. Students who had a course in BASIC on their transcripts were required to take a de-programming course in Pascal first, to rid them of bad habits they were presumed to have acquired learning the awful language rival Dartmouth College had unleashed on the world.

My personal experience with computer languages has been that their differences are fairly minor compared to differences in function libraries and programming models (event driven, parallel, etc). And it's when the differences are fairly minor that I keep getting into trouble.

Edited by Madelaine McMasters
  • Like 1
Link to comment
Share on other sites

15 hours ago, Phil Deakins said:

 being a programmer already, and thinking like a programmer

the internet has many links to the statement "think like a programmer"

Steve Jobs is often internet misquoted as saying: "“Everyone in this country should learn to program a computer, because it teaches you to think.” And from this some people have extrapolated: "What does it mean to think like a programmer?" And some have gone on to sell a whole bunch of books and seminar attendance tickets, to explain what they think this means

Steve Job never said the above misquote, and certainly never said think like a programmer

what Mr Jobs actually said was: "I think everybody in this country should learn how to program a computer, should learn a computer language because it teaches you how to think."

to program a computer we have to learn a computer language. Learning a computer language teaches us to think like a linguist. A linguist is a person who understands linguistics - the scientific approach to the study of a language, the analysis of the language's form, the meaning of the language, and the use/application of the language in its proper context

people who have the benefit of formal education in the computer sciences are taught this in their first year at college

  • Like 1
Link to comment
Share on other sites

It's no good beating about the bush, ellestones, and it's especially no good majoring on the phrase "think like a programmer". I'm not in the slightest bit interested how the phrase has been used in the past, and by whom. I'm only interested in how it was used here. An example of how it was used here is, "I need to loop through <this or that>". That's typical of thinking like a programmer. A non-programmer would think something like, "How do I check every <item>?". The programmer would then look in LSL to see if it has loops. The non-programmer would either ask someone how to do it, or read how to do it if they can find something to read. The way that "thinking like a programmer" was used here simply means knowing how programmes are put together, through personal experience, and thinking that way with LSL.

And speaking of 'thinking', only someone who doesn't stop to think, or, in your case, who supports the view of someone who hasn't stopped to think because they too didn't stop to think, would suggest that it can be advantageous to come to LSL without any prior programming experience. It's just too ridiculous for words.

Edited by Phil Deakins
Link to comment
Share on other sites

6 minutes ago, Phil Deakins said:

It's no good beating about the bush, ellestones, and it's especially no good majoring on the phrase "think like a programmer"

 

because you think, you think like a programmer, is why say the things you do

you also this earlier. " With the exception of machine code/assembly, programming experience is a HUGE/MEGA advantage when starting to programme in LSL (or any other language)."

Why if your argument is true, would you exempt machine code/assembly. Assembly languages have conditionals, evaluations and branching mnemonics, just like any other computer language.

is quite clear from what you say that you are self-taught.  When we have no formal education then yes your view that your previous experience is of great help to you is understandable

Yet, you also say stuff like, when you go back to using previous languages you struggle. Why that is, is because you don't think about what the purpose of language is. You type to chop out code. Along with all the other code cutters who don't bother to learn the language, who settle for being able to spell correctly

Link to comment
Share on other sites

20 hours ago, ellestones said:

When the boss asks the candidate about their experiences, the boss already knows that you (the candidate) are technically and ably qualified for the job. You wouldn't be at the final interview if you weren't. The boss is not impressed by a recital of your technical chops. What they are interested in finding out is, what kind of person you are

I've hired a few (heh) developers, and yeah, that's part of what happens at interviews with me. Specific to this topic, I'm interested in whether there's evidence the candidate gets stuff done and can contribute original ideas to their team. So yeah, I can imagine a truly innovative system of LSL scripts might be a credit. But there are easier ways to get the same amount of credit (and at the same time show a little savvy about tech trends) than to dip into a decidedly déclassé language for a retro virtual world.

Still, my position is softened by ChinRey's "follow your bliss" point. If LSL is what inspires somebody to do great work, by all means they should go for it.

  • Like 1
Link to comment
Share on other sites

1 hour ago, ellestones said:

you also this earlier. " With the exception of machine code/assembly, programming experience is a HUGE/MEGA advantage when starting to programme in LSL (or any other language)."

Why if your argument is true, would you exempt machine code/assembly. Assembly languages have conditionals, evaluations and branching mnemonics, just like any other computer language. 

is quite clear from what you say that you are self-taught.  When we have no formal education then yes your view that your previous experience is of great help to you is understandable

Writing in machine code/assembly is so different from writing in a high level language that it's definitely excludable. For instance, you cannot get used to using loops in a high level language and expect to find something similar in a low level one, because functions don't exist in machine code/assembly. Also, being able to load the accumulator with a value from a particular byte of memory dos not exist in high level languages. Programming is totally different between them. I would have thought that the reason I exempted them was perfectly obvious, but if you want to include them, be my guest. It doesn't make any difference. I only excluded them so that nobody could gainsay by stating that it doesn't apply to low level languages, and not because it actually matters either way.

The idea that being a self-taught programmer makes a difference is preposterous - and it's clutching at straws. It doesn't matter how a person learned to write programmes, the fact that s/he has experience of writing programmes is what matters - and it's blatantly obvious that that experience is a great advantage when learning another high level language, such as LSL.

Perhaps you're thinking that those who were formally taught programming can't really think for themselves so, if they weren't specifically taught LSL, they'll struggle because what they were taught can get in the way, and they would be better off if they hadn't been taught any programming at all. If that's what you mean, then I also disagree with that.

 

1 hour ago, ellestones said:

Yet, you also say stuff like, when you go back to using previous languages you struggle. Why that is, is because you don't think about what the purpose of language is. You type to chop out code. Along with all the other code cutters who don't bother to learn the language, who settle for being able to spell correctly

Why previous languages fight me for a while is irrelevant to this discussion. It was just a little aside.

The fact remains that experienced programmers find their programming experience to be a great advantage when coming to LSL, or any other high level language. Having no programming experience at all is a great disadvantage. It's self-evident and blatantly obvious, and I'm astonished that anyone would even consider disagreeing.

Edited by Phil Deakins
  • Like 1
Link to comment
Share on other sites

18 hours ago, Phil Deakins said:

Well, you are both (Rolig and ellestones) totally mistaken, and it's perfectly simple to demonstrate it to you.

Remember back when you first got control of a computer and you wanted to learn how to programme it. Just like the rest of us, you had to open the book at page 1, because you had no idea what to do. So you started at page 1 and probably printed "Hello world" on the screen.

 

I'd venture to say that anyone who "first got control of a computer" within the last, oh, thirty years didn't do anything remotely similar to that because computers would have been an appliance and programming wouldn't have even been on their radar, anymore than someone buying a television today would immediately start screenwriting. Programming simply isn't the sort of thing that the average modern computer user even thinks about taking up - it's a specialized skill.

As a similar case, I have experience both working with professional 2D and 3D CADD software and extensive virtual world building in the Maxis "Sims" series of games. You'd think that this would mean I would have instantly grasped the "intuitive" building system of Second Life, but it's been a royal pain for me because of how many things I wish could be done more quickly and easily like in other environments.

Edited by Theresa Tennyson
  • Like 2
Link to comment
Share on other sites

39 minutes ago, Phil Deakins said:

The fact remains that experienced programmers find their programming experience to be a great advantage when coming to LSL, or any other high level language. Having no programming experience at all is a great disadvantage. It's self-evident and blatantly obvious, and I'm astonished that anyone would even consider disagreeing.

Nobody has, Phil. You have built a lovely straw man by putting words into my mouth.   I never said or implied that there weren't great advantages to having prior programming experiences, and I have never said anything about people coming to LSL with no experience at all. All I have ever said is that people with prior experiences can find that they come to LSL with some preconceived ideas about how LSL ought to behave, and will find that those ideas can get in the way of learning LSL. Experience can be a disadvantage as well as an advantage. What I said was that LSL is a quirky language, so be careful not to get cocky and think that the old rules will necessarily apply when you start scripting here. 

Link to comment
Share on other sites

57 minutes ago, Phil Deakins said:

Writing in machine code/assembly is so different from writing in a high level language that it's definitely excludable. For instance, you cannot get used to using loops in a high level language and expect to find something similar in a low level one, because functions don't exist in machine code/assembly.

seriously Phil. Do you even know assembly ?

a message for you from back in your day.  It shows evaluation, conditional and branching. (a loop).  Anyone reading who knows this language, knows what the message is. They will also know exactly from this program's language what computer environment is required for the program to execute

2000: LDY $00            
2002: LDA $2010, Y       
2006: JSR $FFD2          
2009: INY                
200A: CPY $13            
200C: BNE $2000          
200F: RTS
2010: $4D $65 $72 $72 $79 $20 $58 $6D $61 $73 $20 $50 $68 $69 $6C $20 $3A $29

 

functions also do exist. We have to write them using the language. Just like we do with any other language

 

Link to comment
Share on other sites

2 hours ago, Theresa Tennyson said:

I'd venture to say that anyone who "first got control of a computer" within the last, oh, thirty years didn't do anything remotely similar to that because computers would have been an appliance and programming wouldn't have even been on their radar, anymore than someone buying a television today would immediately start screenwriting. Programming simply isn't the sort of thing that the average modern computer user even thinks about taking up - it's a specialized skill.

That's perfectly true, but you did overlook one bit of what I wrote - that you quoted. It's this bit:-

"Remember back when you first got control of a computer and you wanted to learn how to programme it. "

I've bolded the part you overlooked, and it's that part that makes what you wrote nothing to do with this discussion.

 

Edited by Phil Deakins
Link to comment
Share on other sites

1 hour ago, Rolig Loon said:

Nobody has, Phil. You have built a lovely straw man by putting words into my mouth.   I never said or implied that there weren't great advantages to having prior programming experiences, and I have never said anything about people coming to LSL with no experience at all. All I have ever said is that people with prior experiences can find that they come to LSL with some preconceived ideas about how LSL ought to behave, and will find that those ideas can get in the way of learning LSL.

What you actually said is, "The point is that prior scripting experience is likely to be more of a disadvantage than a help". That's what you wrote that was wrong, and that's what we've been arguing about. Prior scripting experience is ALWAYS going to be an advantage when coming to LSL, or to any high level language, for the very reasons that I stated earlier.

Link to comment
Share on other sites

2 hours ago, ellestones said:

seriously Phil. Do you even know assembly ?

a message for you from back in your day.  It shows evaluation, conditional and branching. (a loop).  Anyone reading who knows this language, knows what the message is. They will also know exactly from this program's language what computer environment is required for the program to execute


2000: LDY $00            
2002: LDA $2010, Y       
2006: JSR $FFD2          
2009: INY                
200A: CPY $13            
200C: BNE $2000          
200F: RTS
2010: $4D $65 $72 $72 $79 $20 $58 $6D $61 $73 $20 $50 $68 $69 $6C $20 $3A $29

 

functions also do exist. We have to write them using the language. Just like we do with any other language

I've written quite extensively in machine code and assembly - mostly assembly, of course. Specifically, I've written some major hybrid programmes - machine code and high level hybrids.

Functions do not exist in assembly. As you said, if you want a function like a loop in assembly, you have to write it. You don't have to do that in LSL and other high level languages. I honestly don't know why you're pursuing this. I already told you that you can include machine code/assembly if you want, because it doesn't make a scrap of difference. Cancel my statement of excepting it. It's fine with me. I told you why I excepted it but it really doesn't matter.

You know very well that high level programming experience is always a help when moving to another high level language, like LSL. Anyone who has programming experience, and who chooses to give it moment's thought, knows that very well indeed, especially if they've already written in more than one high level language. There is nothing for you to argue about. It's self-evident, and as plain as the nose on anyone's face.

Edited by Phil Deakins
Link to comment
Share on other sites

 

1 hour ago, Phil Deakins said:

That's perfectly true, but you did overlook one bit of what I wrote - that you quoted. It's this bit:-

"Remember back when you first got control of a computer and you wanted to learn how to programme it. "

I've bolded the part you overlooked, and it's that part that makes what you wrote nothing to do with this discussion.

 

If you'd meant to say that, you should have just said, "Remember back when you wanted to learn how to program[me] a computer." You chose an inefficient and confusing way of making a statement in a high-level language (English) because when you first "got control of a computer" you did "want to learn how to programme it," because at that time a home computer was mostly an expensive curiosity if the end-user didn't know how to write their own programs.

Indeed, that's how I started with computers, and I lost the programming plot shortly after, "You're not supposed to use line numbers anymore."

Link to comment
Share on other sites

1 hour ago, Phil Deakins said:

What you actually said is, "The point is that prior scripting experience is likely to be more of a disadvantage than a help". That's what you wrote that was wrong, and that's what we've been arguing about. Prior scripting experience is ALWAYS going to be an advantage when coming to LSL, or to any high level language, for the very reasons that I stated earlier.

Oh, is that all? A minor point of emphasis. If that's all you have been worried about, I cheerfully concede the point. I never thought we were arguing anyway. I was just puzzled. Again, Merry Christmas. 

Link to comment
Share on other sites

4 hours ago, Phil Deakins said:

Functions do not exist in assembly. As you said, if you want a function like a loop in assembly, you have to write it.

functions do exist. For a computer to run it has an operating system. A whole bunch of functions.  In the tiny 16byte program above the line JSR $FFD2 is a function call to the operating system API. Its equivalent in LSL is llSay(...). In assembly, like in any other language, when there is no API function call to do what we want then we have to write it ourselves

 

Link to comment
Share on other sites

You are about to reply to a thread that has been inactive for 1019 days.

Please take a moment to consider if this thread is worth bumping.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...