Question about Erlang and similar languages
#1
SEE POST NUMBER 4 for question

I cannot create a new thread in the Developer Discussion forum. I get the following error:

Code:
You do not have permission to access this page.

I'm fairly sure that I've activated my account, but I resent an activation code to my email address anyway, just to see if that would fix the problem. I have not yet received the activation code (I also checked my spam folder). Is this a 'not enough posts' problem?

Any help is greatly appreciated!

EDIT: I am able to reply to posts within that forum. The problem only occurs when I try to create a new thread.

Reply

Sponsored links

#2
Are you a PCSX2 developer?
Imagination is where we are truly real
Reply
#3
The developers forum only allows admins/mods and the coders etc to create new threads in that forum, partially because we dont want a newbie going in there, making a thread called

[blog] This is a blog

with the contents

YOU'RE ALL W****RS!!!

as this would appear on our front website (due to forum integration)

So any threads by non mod+ users have been moved from other forums as they have been deemed appropriate.
[Image: ref-sig-anim.gif]

Reply
#4
Ah, thanks for clearing that up, refraction. Where's the best place to create a thread meant for the Developer's Discussion forum? I have a question about Erlang and similar languages, and what the devs' thoughts are on if it's possible/feasible to integrate something like that into PCSX2.
Reply
#5
i tell you what, ill move this thread and rename it to something more appropriate Smile
[Image: ref-sig-anim.gif]

Reply
#6
ErlWho? Tongue2
Reply
#7
(04-07-2011, 11:16 PM)rama Wrote: ErlWho? Tongue2

Aw, don't get my hopes up like that. I thought it was a serious reply.Rolleyes

Erlang Programming Language
http://www.erlang.org/

My main interest in asking this question stems from the following snippet from the wikipedia article:
Code:
While threads are considered a complicated and error-prone topic in most languages, Erlang provides language-level features for creating and managing processes with the aim of simplifying concurrent programming. Though all concurrency is explicit in Erlang, processes communicate using message passing instead of shared variables, which removes the need for locks.

When I first heard about this language and its approach to threads/processes, I immediately thought of its possible applications, in particular to console emulation. So, I'll elaborate on my question a bit more.

I'm aware that most (if not all) consoles were designed to have their instructions executed in sequential order - thus the concept of using more than 2 threads for PCSX2 wouldn't yield any benefit in performance. But does that apply to languages like Erlang, where concurrency is handled at the language (run-time, I'm assuming) level?

For example, if we think of the set of possible concurrent processes on the console itself (i.e., EmotionEngine and Graphic Synthesizer), could Erlang (or any similar language) take those processes and introduce language-level processes that divide those 'hardware processes' into multithreaded processes?

Please excuse the probable misuse of terminology on my part. I'm still a noob at this, but I'm eager to learn!




Reply
#8
That would require an entire rewrite of the emulator, which isnt at all feasable xD
[Image: ref-sig-anim.gif]

Reply
#9
(04-07-2011, 08:10 PM)Purkinje Wrote: Ah, thanks for clearing that up, refraction. Where's the best place to create a thread meant for the Developer's Discussion forum? I have a question about Erlang and similar languages, and what the devs' thoughts are on if it's possible/feasible to integrate something like that into PCSX2.

erlang and other functional languages are a pain to work with and i personally hate them.

advocates of functional languages boast that they're good at or make it easier to parallelize code, but this is just because they are more limited in what they can do than languages like c++.
functional languages don't really have state or side effects, without these features it means code is more easily thread-able (but from a programming perspective it means code is written in a way that is more mathematically oriented than programmer oriented).
when coding with functional languages, you usually deal with the general algorithm and leave out type information from the functions. then lazy-evaluation and type-inference is used when calling the function to assign the proper types. this makes code a lot more abstract, whereas typical programming languages explicitly make you specify the types you're using which means code is more concrete and easy to read.

with functional languages you also usually rely a lot on recursion instead of using loops. unless an algorithm makes-sense in terms of recursion (like operations on tree structures), loops are typically easier to work with.
Check out my blog: Trashcan of Code
Reply
#10
Interesting! I had no idea functional languages were limited in that way.

To further this discussion, do you think the stateless nature of functional languages (and programming) can be brought over to Object-Oriented languages like C++ as effectively as languages like Erlang etc.? Do you think models such as the Actor model could possibly be an adequate solution to the difficulties we have with threads today? If not, are there any emerging or underutilized technologies/models that are the best solution for concurrent programming?



[Image: purkinje-cropped_zpsf4383d9a.jpg]
Reply




Users browsing this thread: 1 Guest(s)