Welcome to the Second Life Forums Archive

These forums are CLOSED. Please visit the new forums HERE

SL viewers not written in C++?

SuezanneC Baskerville
Forums Rock!
Join date: 22 Dec 2003
Posts: 14,229
12-28-2008 12:22
That will depend on the person doing the learning.

Learning C++ is a non-trivial task.

I'd suggest going to http://www.microsoft.com/express/vc/ and getting the free Visual C++ Express Edition, assuming you are on a Windows system.

They've got enough tutorials and help information to consume the entire rest of a person's life.

All free.

It will be somewhat roughly as hard as taking several years of college math.
_____________________
-

So long to these forums, the vBulletin forums that used to be at forums.secondlife.com. I will miss them.

I can be found on the web by searching for "SuezanneC Baskerville", or go to

http://www.google.com/profiles/suezanne

-

http://lindenlab.tribe.net/ created on 11/19/03.

Members: Ben, Catherine, Colin, Cory, Dan, Doug, Jim, Philip, Phoenix, Richard,
Robin, and Ryan

-
FD Spark
Prim & Texture Doodler
Join date: 30 Oct 2006
Posts: 4,697
12-28-2008 12:39
I found free educational resource place on it too through these colleges that give free classes online from some educational links someone posted here bit back ago but I have been bit intimidated to tempt it.
Yet now I got this stand alone island on hard drive I have been having these fantasies of personal viewer.
I really like my own personal viewer if I can't brain to rezz how to do this.
I am using the stand alone version in RealXtend from Open Life, but I do here the hippo version at least lets you change appearance and music in the stand alone version.
But I have been having my own fantasies of what I would want in my own personal viewer if I could pull it off, issue is knowing how and figuring out not to break the client while figuring it out before I do something more complex like ability to get animations or poses to work or features not even in SL or any where else.
Is the possibilities limitless if I can figure out C+++ or will I hit some walls? Is it possible to have multiple types of appearance screens one for special custom UVs for my private world and testing one for SL?
_____________________
Look for my alt Dagon Xanith on Youtube.com

Newest video is

Loneliness by Duo Zikr DX's Alts & SL Art Death of Avatar
Talarus Luan
Ancient Archaean Dragon
Join date: 18 Mar 2006
Posts: 4,831
12-28-2008 14:58
From: Lear Cale
I think it would be a waste of time to port the viewer to another language. C++ is up to the job, it's sufficiently portable, but most importantly, it's already written in C++.


You're quite free to believe that, just as I'm quite free to believe the opposite (well, just the waste of time / portability / up to the job parts; I don't dispute it is written in C++ :P ).

From: someone
A port would introduce significant bugs and always be playing "catch-up". Someone would have to keep the port up-to-date with the latest enhancements. It would be a significant amount of work. If someone wants to do this for fun, fine, but if LL did it, it would be a waste of resources that could be better employed elsewhere.


There's no evidence that a port would introduce "significant bugs". In fact, ports often find and correct "significant bugs" that were obscured by language constructs as well as developer inexperience with the original language.

You're right that ports could always be playing "catch up", just as all the third-party viewers do today, assuming that the intent isn't to fork from a snapshot to begin with. There's no hard-and-fast rule that says a port (or any alternate viewer, for that matter) HAS to remain identical in functionality to the original. Similar enough to be functional (again, assuming that is the intent), to be sure, but not enough to make the "catch up" game a priority.

You're also right that it is a significant amount of work. Still, it is doable.

There are lots of reasons why people would want to do a port, not necessarily just for fun, and NO one here is suggesting that LL should be the one doing it, or even remotely supporting it. They don't have to.

I have ZERO desire to work on a C++ viewer. I can; that's not the issue. I just don't enjoy working with C++. I've been a Pascal/Delphi programmer for almost 30 years, and it is the language I like. *shrug* I don't consider it a "waste of resources better spent elsewhere". I have done ports of all kinds of applications; I learn and I make them better. :) I don't consider any of that to be a "waste".
Void Singer
Int vSelf = Sing(void);
Join date: 24 Sep 2005
Posts: 6,973
12-28-2008 15:09
I pity anyone that would try to rewrite it in ASM.... and yet I can't help bu wonder at all the fun optimizations that could be made (and promptly broken by a required patch or update requiring an oh so fun disection and debugging to keep up)

but hey for real fun how about dhtml? though I'm not quite sure to handle caching with jscript minus the server backend.
_____________________
|
| . "Cat-Like Typing Detected"
| . This post may contain errors in logic, spelling, and
| . grammar known to the SL populace to cause confusion
|
| - Please Use PHP tags when posting scripts/code, Thanks.
| - Can't See PHP or URL Tags Correctly? Check Out This Link...
| -
Dnali Anabuki
Still Crazy
Join date: 17 Oct 2006
Posts: 1,633
12-28-2008 16:38
From: SuezanneC Baskerville
That will depend on the person doing the learning.

Learning C++ is a non-trivial task.

I'd suggest going to http://www.microsoft.com/express/vc/ and getting the free Visual C++ Express Edition, assuming you are on a Windows system.

They've got enough tutorials and help information to consume the entire rest of a person's life.

All free.

It will be somewhat roughly as hard as taking several years of college math.



Thanks so much SuzanneC, will check it out. I love math so feelin hopeful.
_____________________
The price of apathy is to be ruled by evil men--Plato
Lear Cale
wordy bugger
Join date: 22 Aug 2007
Posts: 3,569
12-28-2008 19:57
From: Talarus Luan
There's no evidence that a port would introduce "significant bugs". In fact, ports often find and correct "significant bugs" that were obscured by language constructs as well as developer inexperience with the original language.
Any nontrivial work results in significant bugs ... even work to reduce bugs and increase reliability, oddly enough, but hopefully in that case the net effect is a reduction. True that porting finds and fixes bugs, esp unknown ones (and often, unexperienced ones: ones that are bugs that never actually happen).
Lear Cale
wordy bugger
Join date: 22 Aug 2007
Posts: 3,569
12-28-2008 19:59
From: Dnali Anabuki
What an interesting idea FD...a personal viewer.

A friend of mine when I asked about learning programming really pushed LISP as the way to go.
And you call this person a FRIEND? LISP is very cool, but I wouldn't recommend it for starters exept for exceptionally gifted people who are extremely serious about programming (and sticking with programming).

From: someone
My thoughts are if it is already written in C++ and C++ has wide usage then I would be better off tweaking the existing viewer to my specs.
My point exactly.
Argent Stonecutter
Emergency Mustelid
Join date: 20 Sep 2005
Posts: 20,263
12-28-2008 20:36
From: SuezanneC Baskerville
Just think of all the math the viewer has in it written in postfix. Hee hee.
Maybe they'd get the rotation code fixed, finally.

Well written Forth generally involves creating a custom metalanguage with the objects you're most interested in as first class types.

But really, the viewer should be implemented in GNU Smalltalk.
_____________________
Argent Stonecutter - http://globalcausalityviolation.blogspot.com/

"And now I'm going to show you something really cool."

Skyhook Station - http://xrl.us/skyhook23
Coonspiracy Store - http://xrl.us/coonstore
Feldspar Millgrove
Registered User
Join date: 16 Nov 2006
Posts: 372
12-29-2008 19:20
From: Lear Cale
And you call this person a FRIEND? LISP is very cool, but I wouldn't recommend it for starters exept for exceptionally gifted people who are extremely serious about programming (and sticking with programming).


What would you say exactly is your reasoning about that?
Nina Stepford
was lied to by LL
Join date: 26 Mar 2007
Posts: 3,373
12-29-2008 23:55
bah you know exactly who you should be asking about this!
From: Briana Dawson
I encountered someone a couple months ago who insists that SL is written in Java.

Can someone please tell me the facts that I can IM this person - they were acting pretty high on programming knowledge about SL.
_____________________
SLU - ban em then bash em!
~~GREATEST HITS~~
pro-life? gtfo! slu- banning opposing opinions one at a time
http://www.sluniverse.com/php/vb/zomgwtfbbqgtfololcats/15428-disingenuous.html
learn to shut up and nod in agreement... or be banned!
http://www.sluniverse.com/php/vb/off-topic/1239-americans-not-stupid.html
Tegg Bode
FrootLoop Roo Overlord
Join date: 12 Jan 2007
Posts: 5,707
12-30-2008 00:40
MBASIC? :)
_____________________
Level 38 Builder [Roo Clan]

Free Waterside & Roadside Vehicle Rez Platform, Desire (88, 17, 107)

Avatars & Roadside Seaview shops and vendorspace for rent, $2.00/prim/week, Desire (175,48,107)
Dnali Anabuki
Still Crazy
Join date: 17 Oct 2006
Posts: 1,633
12-30-2008 09:12
From: Lear Cale
And you call this person a FRIEND? LISP is very cool, but I wouldn't recommend it for starters exept for exceptionally gifted people who are extremely serious about programming (and sticking with programming).

My point exactly.


A very dear friend.
I guess he thought that if I was going to put the time in, I should learn what he thought was the best language going. And aren't most of us in SL gifted?
_____________________
The price of apathy is to be ruled by evil men--Plato
Elanthius Flagstaff
Registered User
Join date: 30 Apr 2006
Posts: 1,534
12-30-2008 09:18
From: Talarus Luan
I agree. :) That's one of the main reasons I am doing it.

That, and to of course learn, as well as clean up some of the code.


Wait, in order to make the code more accessible you're porting it away from C and into Delphi? Why not just go with something more popular like BrainF*ck?
_____________________
Visit http://ninjaland.net for mainland and covenant rentals or visit our amazing land store at Steamboat (199, 56).

Also, we pay L$0.15/sqm/week for tier donated to our group and we rent pure tier to your group for L$0.25/sqm/week.

Free L$ for Everyone - http://ninjaland.net/tools/search-scumming/
Love Hastings
#66666
Join date: 21 Aug 2007
Posts: 4,094
12-30-2008 09:19
I think that Lisp (or any fully functional programming language, which Lisp isn't) would be easier to learn if one didn't have prior exposure and practice with procedural languages. It's just so off the wall once you're in the procedural frame of mind. I know I have to learn Lisp all over again every time I need to do something in it.
_____________________
Love Hastings
#66666
Join date: 21 Aug 2007
Posts: 4,094
12-30-2008 09:20
Anyway, there's nothing wrong with C++. It builds character. ;)
_____________________
Lear Cale
wordy bugger
Join date: 22 Aug 2007
Posts: 3,569
12-30-2008 15:31
From: Feldspar Millgrove
What would you say exactly is your reasoning about that?
LISP is a very powerful language, but it's also very abstract. For someone with the mental horsepower for it, it might be a great introductory language to programming. They might find any other language unnecessarily restrictive. However, learning LISP doesn't help much to learn most other languages (with exceptions like TCL, which are very LISP-like), and most people would find it too much to grasp at once for learning purposes. Explaining quoting is hurdle enough for many, even though it's such a simple thing (use versus mention).

I would recommend Java or Python instead. I don't know C#, but I suspect I'd put it in the same category -- but maybe not, if it's to C-like in its ability to obfuscate.

However, I think LSL is a great first language. It's missing an important aspect (data structuring abilities, since you have neither structures nor lists of lists built into the language). But it has a great advantage in that you can do very cool stuff with extremely little code. It's actually a very compact language in terms of how little you have to learn (about the language) to get a lot done. It does require learning a bit about the world, of course, but then so does any RL coding, and the cost there (in terms of doing anything remotely as directly useful and operable and impacting your world) is SO much higher. You have to do a LOT of coding in RL to get anywhere near as cool of stuff as you can get with a relatively simple script in LSL. So, it wins from the standpoint of motivation. It loses in terms of learning higher structure, which is important -- but usually that stuff comes later anyway.
Lear Cale
wordy bugger
Join date: 22 Aug 2007
Posts: 3,569
12-30-2008 15:43
From: Dnali Anabuki
A very dear friend.
I guess he thought that if I was going to put the time in, I should learn what he thought was the best language going. And aren't most of us in SL gifted?
LISP is the coolest language going, from the theoretical point of view. There's no distinction between code and data: basically, the code *is* data, but data that gets interpreted. Or, data is code that doesn't get interpreted -- take your pick; both are oversimplifications. And coolest of all, since both code and data are represented the same way, your code can build code (as "data";) and then execute it (as "code";). How cool is that?

Note that I said "exceptionally gifted", and also "serious about programming". I should also add, someone who's very good at abstractions; who picks up radical notions quickly and runs with them.

LISP code tends to be challenging to read. With LSL, you can read it pretty clearly, one thing happens after the other, loops and conditionals are nicely indented, etc. It's a descendent of a long line of languages that were designed to make it easy to read what the code is *doing* (thus being called a "procedural" language).

The designers of LISP weren't thinking about making the code easy to read or understand. They were thinking about a very high level abstraction of what programming *could be*, and took it from there. With lisp, you tend to think more about what the code "is" than what it "does". Sartre woulda dug it, understanding as he did that to do is to be, and that the two are just different aspects of the same thing. If you followed that, then LISP might just be for you. But it's certainly not the best first language for most.
Argent Stonecutter
Emergency Mustelid
Join date: 20 Sep 2005
Posts: 20,263
12-30-2008 18:19
Actually, the Lisp syntax was almost an accident. The intention was that they were going to have a more conventional language and the s-expression syntax was just going to be internal and for bootstrapping. Then they found out how powerful it was.

The version of Lisp I learned on (Lisp 1.5) had a flag to change the syntax from:

(foo bar baz)

to:

foo(bar baz)

which seems to have been left-over from the original plan.
_____________________
Argent Stonecutter - http://globalcausalityviolation.blogspot.com/

"And now I'm going to show you something really cool."

Skyhook Station - http://xrl.us/skyhook23
Coonspiracy Store - http://xrl.us/coonstore
Void Singer
Int vSelf = Sing(void);
Join date: 24 Sep 2005
Posts: 6,973
12-30-2008 19:26
Lisp can be a very fun language, but as noted is NOT optimized for linear thinkers, not that a linear thought process isn't workable.

TBH I would recommend people just starting to try jscript, since it's very accessible, and is strong enough to create useful content without being tied to a specific platform or environment. then tackle something like VB or Java, before C and it's variants... by the time you get to your second language you'll have structure down, and after that most languages are just variations in syntax. don't get me wrong, LSL mas it's merits for teaching, but it ingrains some concepts you don't see used elswhere, at least not in the same context.
_____________________
|
| . "Cat-Like Typing Detected"
| . This post may contain errors in logic, spelling, and
| . grammar known to the SL populace to cause confusion
|
| - Please Use PHP tags when posting scripts/code, Thanks.
| - Can't See PHP or URL Tags Correctly? Check Out This Link...
| -
Argent Stonecutter
Emergency Mustelid
Join date: 20 Sep 2005
Posts: 20,263
12-30-2008 19:46
Dijkstra claimed that teaching people Basic caused brain damage.

I've been having to use Visual Basic. To misquote Terry Pratchett, things can happen to programmers in Visual Basic's libraries that make having your face torn off by tentacled monstrosities from the Dungeon Dimensions seem like a light massage by comparison.

VB makes Applescript look good. And that's hard work.
_____________________
Argent Stonecutter - http://globalcausalityviolation.blogspot.com/

"And now I'm going to show you something really cool."

Skyhook Station - http://xrl.us/skyhook23
Coonspiracy Store - http://xrl.us/coonstore
Love Hastings
#66666
Join date: 21 Aug 2007
Posts: 4,094
12-30-2008 19:58
From: Argent Stonecutter

VB makes Applescript look good.


*Shudders*
_____________________
Talarus Luan
Ancient Archaean Dragon
Join date: 18 Mar 2006
Posts: 4,831
12-30-2008 20:31
From: Elanthius Flagstaff
Wait, in order to make the code more accessible you're porting it away from C and into Delphi? Why not just go with something more popular like BrainF*ck?


No, you've got that backwards. C is closer to BrainF*ck than Pascal. ;)
Argent Stonecutter
Emergency Mustelid
Join date: 20 Sep 2005
Posts: 20,263
12-31-2008 02:17
C is closer to assembler than Pascal, but what C has over Pascal is that it's possible to write a non-trivial but portable program using one implementation of C, then take it to another implementation, and have it work with at most minor modifications.

That's NEVER been the case for any Pascal-family language, thanks to Knuth's neglect of I/O. Even with Modula 2, the third or fourth generation of the Pascal family, I was unable to write a program that would work with two different implementations of M2 even on the same computer. The only reason that Modula-3 has been portable is that the main implementation of Modula-3 was written in portable C.

And by "non-trivial" I'm not talking about a program as complicated as Second Life, I'm talking about something like a newsreader.

I used to be a big Pascal booster, back in the '70s and early '80s, but the first time I tried to use it for anything *real*... *shudder*. Talk about lock-in. You were better off writing your program in Fortran or Forth if you wanted to use it outside the hothouse compiler you wrote it in in the first place.
_____________________
Argent Stonecutter - http://globalcausalityviolation.blogspot.com/

"And now I'm going to show you something really cool."

Skyhook Station - http://xrl.us/skyhook23
Coonspiracy Store - http://xrl.us/coonstore
Talarus Luan
Ancient Archaean Dragon
Join date: 18 Mar 2006
Posts: 4,831
12-31-2008 02:20
From: Argent Stonecutter
C is closer to assembler than Pascal, but what C has over Pascal is that it's possible to write a non-trivial but portable program using one implementation of C, then take it to another implementation, and have it work with at most minor modifications.

That's NEVER been the case for any Pascal-family language, thanks to Knuth's neglect of I/O. Even with Modula 2, the third or fourth generation of the Pascal family, I was unable to write a program that would work with two different implementations of M2 even on the same computer. The only reason that Modula-3 has been portable is that the main implementation of Modula-3 was written in portable C.

And by "non-trivial" I'm not talking about a program as complicated as Second Life, I'm talking about something like a newsreader.

I used to be a big Pascal booster, back in the '70s and early '80s, but the first time I tried to use it for anything *real*... *shudder*. Talk about lock-in. You were better off writing your program in Fortran or Forth if you wanted to use it outside the hothouse compiler you wrote it in in the first place.


It's been a few decades; maybe you should look at it again. Both Delphi/Kylix and FreePascal are quite portable.
Argent Stonecutter
Emergency Mustelid
Join date: 20 Sep 2005
Posts: 20,263
12-31-2008 03:14
Modula 3 is quite portable, too. It's cross-platform portability that counts.

Can you write a non-trivial program in Delphi and have it run in FreePascal without modification? I've had C programs I wrote 25 years ago... on MS-DOS and AmigaDOS, 16-bit... compile and run unmodified 20 years later... on Tru64 UNIX on Alpha with DEC's compiler, and on Solaris with Sun's, and on OS X with GCC.
_____________________
Argent Stonecutter - http://globalcausalityviolation.blogspot.com/

"And now I'm going to show you something really cool."

Skyhook Station - http://xrl.us/skyhook23
Coonspiracy Store - http://xrl.us/coonstore
1 2 3