Cigue
2012-12-18 14:18:34
Hello guys and girls,
Post-writing addition: this is very much a pipe dream, but I'd love for you to dream with me!
I started programming through SRL/SCAR/Simba, and lo and behold it has taken me to amazing places. I'm currently completing my second year of a Software Engineering degree, have learnt 8 programming languages since I started playing with SCAR three years ago, am interning at a security R&D firm and working on a startup enterprise project.
Since then I've had the joy of taking a tour of what technology exists in this day and age, and even though I still have fond memories of Pascal, it's unbelievably outdated. A more current language and runtime could allow huge advances in the complexity of our algorithms and data structures; it could make writing plug-ins and utilities much easier; furthermore, two runtimes (CIL and JVM) can seamlessly interoperate several programming languages.
Imagine if we could port Simba/SRL/etc. to, say, the JVM. We could write scripts in Java, Scala, Python, Ruby and Clojure (Lisp). We could leverage the enormous developper base for these languages. We could make friends and influence people. (Okay, I'm getting grandiloquent, but you get my point.)
Alternatively, we could go to the CIL and run C#, F#, VB.NET… I'm partial to the CIL because C# is generally a better language than Java, and F# is generally a better language than Scala.
As a third possibility, we could port Simba to Node.js using TypeScript language expansions for static typing. TypeScript is a brand spanking new language that gives JavaScript classes and other goodies. Node.js's engine, V8, is extremely fast and maintained by Google. There is still the problem that Node.js has no UI engine, but since it's primarily a web platform, you can easily build a web interface.
I remember writing my first large script here (Ectofuntus runner), you can find it in my members' application. It took about a thousand lines, was brittle, unmodular and generally hard to follow. That's mostly because I sucked at coding, but it's also because Pascal is verbose and limited.
Here are a couple things Pascal doesn't have that we could get somewhere else:
So, what do you think?
EDIT: I just found out that SMART is implemented in Java. Way to go, BenLand100 :D
Post-writing addition: this is very much a pipe dream, but I'd love for you to dream with me!
I started programming through SRL/SCAR/Simba, and lo and behold it has taken me to amazing places. I'm currently completing my second year of a Software Engineering degree, have learnt 8 programming languages since I started playing with SCAR three years ago, am interning at a security R&D firm and working on a startup enterprise project.
Since then I've had the joy of taking a tour of what technology exists in this day and age, and even though I still have fond memories of Pascal, it's unbelievably outdated. A more current language and runtime could allow huge advances in the complexity of our algorithms and data structures; it could make writing plug-ins and utilities much easier; furthermore, two runtimes (CIL and JVM) can seamlessly interoperate several programming languages.
Imagine if we could port Simba/SRL/etc. to, say, the JVM. We could write scripts in Java, Scala, Python, Ruby and Clojure (Lisp). We could leverage the enormous developper base for these languages. We could make friends and influence people. (Okay, I'm getting grandiloquent, but you get my point.)
Alternatively, we could go to the CIL and run C#, F#, VB.NET… I'm partial to the CIL because C# is generally a better language than Java, and F# is generally a better language than Scala.
As a third possibility, we could port Simba to Node.js using TypeScript language expansions for static typing. TypeScript is a brand spanking new language that gives JavaScript classes and other goodies. Node.js's engine, V8, is extremely fast and maintained by Google. There is still the problem that Node.js has no UI engine, but since it's primarily a web platform, you can easily build a web interface.
I remember writing my first large script here (Ectofuntus runner), you can find it in my members' application. It took about a thousand lines, was brittle, unmodular and generally hard to follow. That's mostly because I sucked at coding, but it's also because Pascal is verbose and limited.
Here are a couple things Pascal doesn't have that we could get somewhere else:
- Garbage collection
- Closures
- Function passing
- Objects
- Classes
- Built-in lists
- Standard data representation scheme (XML/JSON)
- Generic types
- Lazy initialization
- List comprehension
- Pattern matching over tagged unions
- Implicit static typing
- GPU-accelerated parallel computation
- Namespaces
- Ternary operators
So, what do you think?
EDIT: I just found out that SMART is implemented in Java. Way to go, BenLand100 :D