I'm looking into mobile development, and Ruby looks really nice, but I heard it's fairly slow. Is it really as bad as they say? If I don't use Ruby, and I absolutely hate Java, what's a good language for developing software for Android?
Ruby is fairly slow, but much of what you see on the internet about it is exaggerated.
> If I don't use Ruby, and I absolutely hate Java, what's a good language for developing software for Android?
Clojure or C.
No, it's worse
I expect most people here have done 6.001 (if not I strongly recommend it)
So now I'm thinking 6.034 would be fun to do online
who is with me? I asked another text board but didn't get a great response.
How could we contact you if we wanted to do it with you?
What do you mean by "Do it with you"? They're just free classes online, there's not much to do with other people. It is a great course though, Artificial Intelligence is an extremely interesting topic and I highly recommend learning about it.
how many of these courses have you done? Are they a good starting point?
I'm took fucking lazy recently to read it, but 6.034 looks a bit like the content covered in Norvigs Paradigms of AI book.
If you can stomach Common Lisp it would be good supplementary material.
I have yet to do 6.001 but I'm still a huge programming noob with almost no skill and experience
I am very new to the imageboard setup stuff so I have no clue how to set it up. And I haven't/don't know how to make a table for a DB. If someone could he that would be great.
Like step by step help.
you need at least a 4 year degree to make an imageboard
Oh hey, I remember this thread. It was stupid.
Thanks >>96 for letting us relive stupid moments of internet history.
Okay here is some software that supposedly does imageboard, forum and cms all rolled into one, they went offline for like 2 days but their back check it..
some guy who calls himself Ere wrote it, lol, but the software is some serious hot shit..
I'd be embarrassed if my name was associated with something that bad.
Lets talk about the state of things in the imageboard script world today.
Is it true TinyIB was another attempt at making an imageboard script by the guy who made Trevorchan, Kusaba, etc.?
Is TinyBoard's development halted forever? Did anyone ever find out where it stands compared to Wakaba in terms of both speed and security?
Has anyone found any unpatched security holes in Wakaba yet?
What exactly happened to STI?
Are there any new contenders (not forks of other scripts) in the great imageboard script race?
Jesus fuck I'd love to see this thing in action.
There's this now http://onlinebargainshrimptoyourdoor.com/2012/07/22/glaukaba/
I've seen great web tutorials for Haskell, but is there any better entry-level language that teaches me to no longer think like a computer?
I suspect "thinking like a computer" would mean thinking in concepts of having to do stuff in a predefined algorithm sequence, which functional programming (according to my very limited knowledge of the field) appears to avoid.
No. Functional programming also works in a "predefined algorithm sequence" (that's the whole point of programming, innit).
What it does, it tries to get rid of this idea, which is brittle (i.e. difficult to get right):
You have a state (a bunch of variables with their values at some time t) that you manipulate with procedures so that at time t+1, the values of those variables has changed and the set of variables has changed.
Instead the approach is:
You have functions (machines that transform input values into output values, where the input values and output values can themselves be functions) that you apply on values to get a result (and any state is temporary and just an artifice of expressing how your function works).
I think "a computer" >>1 means is so-called Von Neumann-type computer.
Procedural programming needs global states, variables and substitutions like current computer architectures.
Functional programming also has values but they never change once they have been defined, and yet it works because of λ-calculus like >>13 said.
I recommend Haskell for Functional programming novices too.
Haskell is a bit idealistic language, but people can learn a lot for it.
Ruby. The Best of All EVER.
Simple. Beauty. Force.
get '/' do
Web-server with hello-world-main-page. 4 lines. :)
I can do that with Node.js, or any other framework out there. That is still stupid. If you don't understand why "my_whole_web_site_just_work();" is lame, please stop programming.
I know, I've been trolled once again :(
Such baseless novelties, try Nimrod, son.
State is easily reintroduced into functional programming with f-coalgebras. Then you model your computation as a function working on a state space S and several outcomes (bottom = no terminating or undefined), just the next state or an exception and the next state. This model also apply on java. From this model, functional languages are rather explicit with their state passing.
S[sub]t[/sub] -> bottom + S[sub]t+1[/sub] + S[sub]t+1[/sub] x E
Learn brainfuck, trust me. Its a great language and will teach you the fundamentals of a language like Assembly, but in a more complicated way, which is definitely better.
Would you say it's easier for a newbie to pick up programming by learning an interpreted language ?
ASM is not a clusterfuck. C and its undefined behavior is a clusterfuck.
>Would you say it's easier for a newbie to pick up programming by learning an interpreted language ?
I would say it depends on what are you like/want to do more.
I'd recommend starting with PHP and continuing with C. Because it's easy.
I dare to object. Every self-respecting C compiler should spill warnings about UB, until you bend over. To top it off for a bit, stronger typing of C++ treats some UB as hard errors (while creating plethora of new ones in it's wild-west approach to OO).
Please don't start with PHP, for the love of God. That is the worst thing anyone could do.
I mean, feel free to learn it at some point as I fully understand it is necessary to know in some lines of work, but to learn it as a first language will give you bad habits that are hard to drop if they're the first things you learnt.
I recommend learning Scheme while reading SICP. It will start you off with a nice, high standard. Python is okay too if you would rather.
No, oh my god no. PHP is no. Just no.
Is you want to pick up an actual language that is easy, go with Python or Ruby.
PHP is an actual programming language. It is, however, not a general-purpose programming language.
Okay then, is there a static code checker that is programmed to detect [b]every[/b] possible UB there is?
PHP is a bad language for a beginner. It is far too difficult to find mistakes and the semantics are confusing. A beginner should take a language, which is clean and strict, so he will learn some discipline he needs for more loosely defined languages.
Look for strongly typed languages. Check if they don't have erratic behaviors like:
0 == "0" && 0 == "" && "0" != ""
Look how errors are handled. If these things look sane, it is useful as first language.
Paradigm doesn't matter. You can choose whatever style you want.
Sure, interpreted languages may seem easier at first, but if you want to get into advanced computer programming and computer science, you'll probably be using compiled languages.
Is it worth it to start LEARNING programming with SICP, or should I just read Learning Python the Hard Way?
How good is your math background and what do you want to accomplish by learning programming?
If you don't want to accomplish anything in your programming career, learn SICP and Python.
Anyone who recommends those is being sarcastic, they're both horrible things to start with, much less learn at all.
Take my advice, learn C++ first.
This shelter has been designated by the local government for the purposes of temporary protection from the spam storm.
Links of interest:
Please sign the petition!
Kabbalah and other Jewish spells
don't sign the petition!!!!!
we back, without the ability to report threads, like here.
I thought this had been deleted!
Also, goddamn captchas.
Waiting on a response:
If some can, please bump to catch the mods attention.
`.__ ,-' ,-.`-,
`''-------' ( p ) `._ HAVE YOU HAXED
`-' ( MY ANUS TODAY ?
what are you doing here? they deleted the shelter thread
in layman's terms what is the difference between the two ?
Functional programming isn't the direct opposite of OOP, but of imperative programming. Imperative programming operates on the principle that programs have a global 'state' which should be manipulated to produce the desired results, while functional programming attempts to avoid state and treat all data and program flow as interactions between functions. Having no state is often described as being "functionally pure" or "no side effects."
To use an example, consider possible programs in an imperative and functional style:
y = 42 # this would be a side effect
# it's poor programming, but the language won't stop you
return x + 3
Algebra, while not technically a programming language, is indeed functional:
f(x) = x + 3
Notice that using algebra, you couldn't change the value of y from within a function that operates only on x. Purely functional languages are subject to the same constraint- in fact, they don't actually 'change' anything at all, they merely produce brand new outputs by performing calculations on their inputs. This prevents errors in case you didn't want y to become 42 or x to permanently increase by three.
Functional isn't opposite of OO, because there is functional OO.
OO with immutable objects is functional. (States can still be represented by creating new objects based on old ones.)
From a functional point of view, OO is a way of organizing the types into classes which are tuples of properties optionally linked by inheritance relationships, and of dispatching methods based on class-based pattern matching over the argument lists.
Functional OO is "cleaner" than regular OO in some ways. For instance circle-ellipse issues don't arise, because you can't mutate a circle or ellipse once it is constructed.
> circle-ellipse issues don't arise, because you can't mutate a circle or ellipse once it is constructed.
I don't believe you here. You can still make a copy of some object A, and call it B. Hell, you can even call it A with a let statement.
I had an interesting realization on the nature of OOP once. When you think about it, it effectively models multiple computers running programs and interacting with each-other.
Even in game programs you have the 'view' model where one ticks each registered object in the main loop - it can be viewed as multiple processors being 'ticked' to the next CPU cycle.
Pure OOP [i]is[/i] the opposite (dual) of pure FP. OOP is modeled by terminal coalgebras, FP by initial algebras. The distinction you're making is imperative vs declarative.
To solve the ``Expression Problem'', you need both.
OOP is not needed in most small projects as it only complicates understanding of the code and, as a result, increases time spent on its' reading and monies spent on its' support.
OOP makes life easier when dealing with something really obstructive. Instead of making clusterfuck of dynamically loaded modules and thousands functions in the global namespace, you simplify (or trying to) program structural organization, dividing it into classes and objects. Saves lots of time when amount of actual developers is more than 3.
Oh, and, of course:
Note that variables captured in closures/continuations are technically equivalent to instances of which all members, including methods are private - and only visible to child classes defined in it's own scope (NOT derived classes, protected: is a sideffect).
In the same vein closures are just class instances without sideffects (are we comparing to pure-functional, right?).
Btw, this is clearly visible in C++11 and it's implementation of lambdas.
However nobody uses pure functional style, nor OO with such a rigid encapsulation. Both are most widely deployed in multi-paradigm systems, on that level, they could be IMO treated as equal.
There is little difference between the two in a language which typesystem can express subtypes. In such a language
would be syntactic sugar for:
method (object, arg1, arg2, arg3)
where object can be replaced by an appropriate subtype. Subtyping can express inheritance.