Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon.

Pages: 1-4041-

Scripting vs. Curly Bracket Language

Name: Anonymous 2010-06-28 11:17

I've been doing a lot of reading lately and yet I am still stumped. In your own opinion, would you say that the best language to learn with is a scripting language or a curly brackets language?

People always say about how simple scripting languages are but at the same time I want to make sure I'm not making some shitty mistakes that'll bite me in the ass when it comes to creating more complex code. Int he same vein, I don't want to start way over my head and regret it later.

I'm not asking which language is best, just what language set I should choose from, whether you chose from that category to start learning or you wish you had.

Name: Anonymous 2010-06-28 11:21

I started with C++, without getting to deep into its "features."
I believe that was a great choice (though I didn't exactly "choose," I just found a game programming tutorial), because it taught me the basics of programming, but also the low-level stuff (manual memory management).

Name: Anonymous 2010-06-28 11:23

Start with PHP for a year then upgrade to Ruby.

Name: Anonymous 2010-06-28 11:29

"Start with PHP for a year then upgrade to Ruby."
I'm looking to build stand alone applications, so would that make learning PHP usless or is it useful simply as a simple language?

Name: Anonymous 2010-06-28 11:32

>>4
>>3 was trolling you.

Name: Anonymous 2010-06-28 11:34

>>5
Considering I know a person who learnt PHP to begin with and now works for a big software producer...

Name: Anonymous 2010-06-28 11:36

I started with two courses running in parallel, assembley in one and C/C++ in the other. This gives you a pretty low-level approach to programming, but man, I think the real answer is "what do you eventually want to program?"

Name: Anonymous 2010-06-28 11:41

>>7
Stand alone programs possibly using system resources (so it would need low level access) but I want to make sure I learn with a language that doesn't lead me to terrible practices, like BASIC and it's spaghetti programming >.<

Name: Anonymous 2010-06-28 12:17

>>6
Yeah, big software producers have a lot of copy-pasting code monkeys. This isn't a good way of judging the language.
From what I saw of PHP, it's terribly inconsistent, and there are a lot of "helpful people" who write terrible code. I'll give you some examples if I'll find them in my database.

Name: sage 2010-06-28 12:17

op is trolling.

Name: Anonymous 2010-06-28 12:26

Name: Anonymous 2010-06-28 14:42

A functional language with LISP or ML-like syntax.

Or C.

Name: Anonymous 2010-06-28 14:43

ATS bitches

Name: Anonymous 2010-06-28 14:48

>>13
A bit rude there.

Name: Anonymous 2010-06-28 17:23

Learn C by reading K&R. Optionally learn some assembler if you want to even better understand how C works on moderm machines, and understand things how low-level programming works.
Read SICP to properly learn general-purpose programming and Scheme.
Learn ML to learn about staticly typed languages with type inference.
Learn Common Lisp to gain a valuable high-level multi-paradigm(meta, functional, imperative, declarative, ...) programming language with useful performance properties.

You should have enough knowledge to learn any other language you want now or just use the ones you now know, as they're already excellent for most programming tasks. You may also learn Java or C# or even C++, if you have to program for money, as some employers require you to code in them. Java/C# are just ENTERPRISE high-level languages with large libraries, but even if their libraries are large, the actual `language power' is lesser than what you get with the languages I presented before. I used the term `language power' to express the flexibility in what the language lets you do. C lets you be very low-level, and your data and execution models match tend to match well with what you would do in assembler, but still keep it portable across platforms. Lisps let you easily abstract and define new syntax as you see fit, while still keeping things simple and manageable.

Name: Anonymous 2010-06-28 19:37

1) Start with one or two of: Lua, Python, Scheme. Don't spend too long.

2) Move to: C. K&R.

3) Extend your C programming with the language(s) learned in the first step.

If you have done all three steps, then you will be able to do most whatever you want.

Name: Anonymous 2010-06-29 5:32

>>16
(Python|Lua) & C won't let you do anything you want. It should be Haskell, Scheme and C.

Name: Anonymous 2010-06-29 8:07

javascript. it's a scripting language and a curly bracket language, and it's more functional than lisp (unless you write a huge library implementing half of javascript in lisp).

Name: Anonymous 2010-06-29 8:15

>>18
JavaScript is literally the best programming language I've come across.

Name: Anonymous 2010-06-29 8:56

>>19
Go back to Mozilla

Name: Anonymous 2010-06-29 9:31

>>18
If your definition of function means restriction, sure. Otherwise, Lisp is as function as you want - if you don't want to use side-effecting forms, either don't use them, or package them up in a functional-friendly function or macro (or even library). There's also libraries like FSet ( http://common-lisp.net/project/fset/ ) which provide more functional-friendly data structures.
Of course, even if you can almost go purely functional (at least on the surface), it's questionable if such an approach is wise, as it can sometimes complicate certain things and there are significant performance advantages to using mutable hashtables, arrays or even cons cells. The choice is always yours when it comes to choosing your programming style, idiomatic or not for the language.

>>20
Did you mean FrozenVoid? Just kidding, but he or some copy-cat of his are lurking around.

Name: Anonymous 2010-06-29 9:32

*functional

Name: Anonymous 2010-06-29 9:44

>>17
Lua is practically scheme with tables instead of lists to the non-expert. Python by itself doesn't add much, but it is always good to know more than a few languages so that one can start developing some proper abstractions, and python is popular enough that someone might actually do it.

No one is going to learn Haskell unless they already know x languages, where x>5.

Name: Anonymous 2010-06-29 9:50

Name: Anonymous 2010-06-29 10:04

Name: >>21 2010-06-29 10:19

>>25
What does that prove? I am the author of post 28-31 in that thread, and I proved that that functionality is easy to replicate in CL.

Name: Anonymous 2010-06-29 10:32

>>26
It proves that LISP is gaaaaaaaaaaaaaaaaaay XD

Name: Anonymous 2010-06-29 10:35

>>27
I think you need to get back to /b/

Name: FrozenVoid 2010-06-29 11:11

>>26 Sometimes i wonder if Gerald J. Sussman posts on /prog/

__________________
Orbis terrarum delenda est

Name: Anonymous 2010-06-29 11:37

>>26
>>25 was a reply to >>21, which was a reply to >>18:
(unless you write a huge library implementing half of javascript in lisp)

Name: Anonymous 2010-06-29 11:44

dun dun

Name: Anonymous 2010-06-29 11:50

>>30
Depends on one's definition of ``huge''.
Besides, I don't really see how having call-stack access for regular programming tasks helps you programs be more functional. It could even be argued that it violates referential transparency to some degree.

Name: FrozenVoid 2010-06-29 12:42

JavaScript has all the good functional stuff from Lisp and free of "referential transparancy/purity/i-can't-modify-variables-or-i-burn-in-hell" bullshit, complete (@Java-speed) imperative composition.
I would say its a win/win scenario, but it lacks some low-level functions of C/asm level which Lisp does have.

__________________
Orbis terrarum delenda est

Name: Anonymous 2010-06-29 13:08

>>33
Lisp isn't as pure you think it is. Scheme tries to be minimal, but Common Lisp isn't. Referential transparency is a nice goal for an abstraction, but it never was something enforced in Lisps, it's something user should work to get if they want its advantages, it's not something you get for free.

Name: Anonymous 2010-06-29 13:28

Enjoy your AIDS AND FAIL, /prog/

Name: Anonymous 2010-06-29 14:58

afdsf

Name: amidoinitrite 2010-06-29 15:20

AIDS AND FAIL, /prog/

Name: Anonymous 2010-06-29 17:54

No scheme distribution of merit is minimal. I don't know why anyone bothers bringing up the minimalist bullshit. You don't hear people crying about how sepples doesn't assume a monitor and keyboard are attached to your computer.

Name: Anonymous 2010-06-29 18:00

>>38
But it doesn't. You can obviously use it to develop for an embedded device, and indeed many people do.

Name: Anonymous 2010-06-29 18:08

>>39
I know it doesn't. That's the point. Whether ANSI scheme is a minimalist programming language is totally irrelevant.

Name: Anonymous 2010-06-29 18:56

>>40
But C++ isn't minimal!

Name: Anonymous 2010-06-29 19:29

>>41
Neither is any scheme distribution of merit. Ta-da!

Name: Anonymous 2010-06-29 20:03

>>42
I love agreeing with people in a way that looks superficially argumentative and then leave them thinking they won.

Name: Anonymous 2010-06-29 21:25

At which point, exactly, did you agree with me?

Name: Anonymous 2010-06-29 22:39

>>44
All of them.

Don't change these.
Name: Email:
Entire Thread Thread List