"More Powerful" programming language

cashfap

Junior Member
Joined
May 5, 2010
Messages
115
Reaction score
15
Hi,

I've always thought Perl or C was the "Most Powerful programming language" out there. Recently someone told my it was python.

Thoughts??


Also I program in Java and PHP for a living. If I wanted to move into a "More Powerful" programming language, which one would I transition easiest to?

Thanks.
 

thevil

Junior Member
Joined
Aug 17, 2010
Messages
190
Reaction score
190
Assembly would be. Powerful and understandability would be C. IMO
 

cooooookies

Senior Member
Joined
Oct 6, 2008
Messages
1,034
Reaction score
226
Asking here for programming advices? Unfortunately, this is the wrong forum here. I am also looking for a nice place to discuss BH programming stuff, still w/o success...

If you are already using Java: stick with it, J is really great. And now comes my big advice: for bot programming the overall super-performer is HtmlUnit which allows also for parsing JS! All you can do manually with your browser, you can do with HtmlUnit.
 

cnick79

Jr. VIP
Jr. VIP
Joined
Jun 10, 2010
Messages
1,386
Reaction score
1,001
Website
www.gplcellar.com
what do you mean by "More Powerful". each language has their place and it's a matter of using the right tool for the job. In terms of speed C is great because it's fast.
 

Skills

Newbie
Joined
Aug 17, 2010
Messages
46
Reaction score
4
Assembly and C is old as dirt!

I have heard of J. Might want to look into C#
 

minute80

Regular Member
Joined
Dec 3, 2008
Messages
310
Reaction score
81
What do you mean by most powerful language?

Assembly is the language you can do everything in, but there is a saying that says only 10 people on the whole planet really know how to program in it (I would say less then 1k people know assembly).

I am vivid user of Python, and have used it in so many situations that it could spin someone's head. But Python has three big disadvantages, it is (almost, I could be on the track to solve it) impossible to obfuscate your code at least in a form similar to binary executable, it is not well supported on shared web hosting platforms and it is slow as hell.

When everything is taken into account, plain old C is often presented as portable assembler, and I would say that the majority of different kinds of software was written in C. Number wise, majority of software is written in C++, but it is farther from the metal then C, and thus C is more versatille (almost all drivers and core OS components are written in C).

Google GO looks promising, as it was invented by guys who developed C: however it doesn't work under Windows without gimmicks.

Hope I answered your question.
 

brokenhero

BANNED
Joined
Sep 4, 2010
Messages
97
Reaction score
25
I think c# is a most powerful language its used for both web and desktop
 

flaktrak

Power Member
Joined
Mar 1, 2010
Messages
522
Reaction score
140
in my early days I did everything C. Now I do everything in PHP. C is POwerful but not really needed these days. computing power is cheap and the net is pretty quick. C doesnt really have a place in IM, not that I can tell anyway.
 

flaktrak

Power Member
Joined
Mar 1, 2010
Messages
522
Reaction score
140
Then again with all the bots and automation you guys do. C is needed!
 

smack

Junior Member
Joined
Feb 1, 2010
Messages
182
Reaction score
80
Then again with all the bots and automation you guys do. C is needed!


straight C? no i don't think so.

C++, maybe but really not needed.

C#/VB.NET is an excellent choice. the framework gives you plenty of horsepower built on a platform that facilitates rapid development.

short of a custom atomic mailer or an individual piece of a bot that requires tight memory management, C++ would really be overkill. it's a lot of extraneous management code. time better spent developing features and more functionality in another language.

java can be leveraged well for bots too, however i've never been all that impressed with the workings of the java language. the programs often seem buggy and bloated. that's just one man's opinion though and could be more based on how the application was conceived and not necessarily the language.

but really in my opinion you want something with a good framework backing it. you will get many more benefits from being able to develop stable and powerful applications quickly than you will from controlling every memory location at all times. in real world applications a platform like .NET allows you enough memory control to get a very efficient application, but also couples that with a rapid enough development platform to really be able to develop quickly.
 

cashfap

Junior Member
Joined
May 5, 2010
Messages
115
Reaction score
15
Thanks everyone.


As far as what do I mean by "Most powerful": I don't know. I was trying to feel out what that even means by getting some responses.
 

minute80

Regular Member
Joined
Dec 3, 2008
Messages
310
Reaction score
81
Well I like the general idea od .NET languages, however:

1) .NET platform is badly supported on Linux. Mono is nice as long as your application was started in Mono other than that YMMV. I always tend to aim for more portable solutions in case I need to scale out quickly by getting number of linux machines.

2) Code in unprotected and you have to supply runtime for those who don't have it.

Well, for me Java is a bit better here since it is very well supported under Linux, and I don't have to think much about it when I put stuff on dedicated server.

I also saw some hideous Java based apps, but since then I learned a lot, and found out what was bugging them...it was all about programers who didn't know how computers handle stuff, especially memory.

On top of that I let other people be smart instead for me: official languages at Google are C,C++ and Java :)

straight C? no i don't think so.

C++, maybe but really not needed.

C#/VB.NET is an excellent choice. the framework gives you plenty of horsepower built on a platform that facilitates rapid development.

short of a custom atomic mailer or an individual piece of a bot that requires tight memory management, C++ would really be overkill. it's a lot of extraneous management code. time better spent developing features and more functionality in another language.

java can be leveraged well for bots too, however i've never been all that impressed with the workings of the java language. the programs often seem buggy and bloated. that's just one man's opinion though and could be more based on how the application was conceived and not necessarily the language.

but really in my opinion you want something with a good framework backing it. you will get many more benefits from being able to develop stable and powerful applications quickly than you will from controlling every memory location at all times. in real world applications a platform like .NET allows you enough memory control to get a very efficient application, but also couples that with a rapid enough development platform to really be able to develop quickly.
 

BlackHatSoda

Junior Member
Joined
Oct 6, 2009
Messages
179
Reaction score
102
Basically there's no such thing as "most powerful". Low and very low level languages like C and Assembly allow more direct access over a computer. This allows for more control and, if you know what you're doing, more performance. The trade off is that they require much more code and understanding to do even basic things. The added control they give to the programmer also means more chances for the programmer to mess something up.

That's why they have 3rd and 4th generation languages that hide the bulk of common functionality into included libraries/frameworks.

The "best" language is one that allows you to develop your desired application as fast as possible with as few bugs as possible and still meet your functionality and performance requirements.

3rd gen languages like C#/VB.NET/Java require writing less code as the frameworks do the heavy lifting. They also make it much easier to debug code and handle unexpected errors.
 

smack

Junior Member
Joined
Feb 1, 2010
Messages
182
Reaction score
80
Well I like the general idea od .NET languages, however:

1) .NET platform is badly supported on Linux. Mono is nice as long as your application was started in Mono other than that YMMV. I always tend to aim for more portable solutions in case I need to scale out quickly by getting number of linux machines.

2) Code in unprotected and you have to supply runtime for those who don't have it.

Well, for me Java is a bit better here since it is very well supported under Linux, and I don't have to think much about it when I put stuff on dedicated server.

I also saw some hideous Java based apps, but since then I learned a lot, and found out what was bugging them...it was all about programers who didn't know how computers handle stuff, especially memory.

On top of that I let other people be smart instead for me: official languages at Google are C,C++ and Java :)

how do you mean unprotected? you can run it through an obfuscator if you're planning on distributing it (although even that isn't 100% secure). generally yes, you're right though. grab a program like RedGate reflector and you have a fairly good view in to the code. i rarely program anything that gets released to people outside of my immediate colleagues though, so it's generally not an issue for me personally.

i understand the OS restrictions as a theoretical argument, however my counter to that is two fold. most organizations in real world business run windows. i haven't met a client yet consulting that doesn't have at least a few windows servers. so if you ever need to go get a legitimate company having a strong background in .NET technologies does have its rewards. the other side of my point is that when you're making BHW software for yourself you have complete control over which OS you use, and in recent years windows hosting has become insanely cheap (thank you virtualization!). now strictly from my experience if you're making some form of scraper, ewhore app, etc... i like to run as a windows application. it's easier to manage and you don't need to worry about postbacks, server downtime, or any other of the issues associated with an RIA.

now of course this is all one man's opinion. i always advocate doing what makes sense for your particular situation and your skill set. if you have some background in java, use that. if you know php really well, go there. but if you're starting from scratch i usually like to steer people towards .net. the IDE is rather friendly compared to others, the community support is excellent, and the framework is robust and proven. plus you have the ability to leverage the same framework in either C# syntax or VB.NET which gives you some good flexibility to use the syntax that clicks the best with you.

as far as what google, etc use, they have the luxury of a large resource pool and business supporting a highly structured development process. where as most of us BHW are losing food off our table each day that an app goes uncompleted. the rapidity and subsequent stability of my development is what keeps my revenue streams flowing. ;)

i ramble about this stuff a lot on here, but i guess it can really all be summed up by what will get the job done in the best way for the individual. to the OP, hit up google and look at the pros and cons of the platforms you're considering. take in to account operating system portability (if that is a concern for you), rapid development capabilities, ease of the syntax and framework (if applicable) that you will be using, etc etc.

as a very smart man that i always quote likes to say: "a language is a tool, and not a destination."

cheers. :cool:

-edit-

if you're green to .NET or OOP in general here is a post i put together with lots of good links for getting started in the language. this is also worth a look if you're junior to intermediate. there is some good info linked from here:

Code:
http://www.blackhatworld.com/blackhat-seo/visual-basic-6/15877-visual-basic-tutorials.html#post1981680
 
Last edited:

minute80

Regular Member
Joined
Dec 3, 2008
Messages
310
Reaction score
81
Thanks for a thread link, but I am not green to OOP, lol, have been doing development for quite some time.

I completely understand your point, and I NEVER will say that Windows platform and associated tools are not important (that would be a lie), however, in my case, eventhough I run Windows, I always managed to solve problems on Linux rather than on Windows, and in same circumstances that brought be the edge I needed to defeat competition.

Even for us who are practically fed from the Intenet, it should be obvious that all successful Internet projects run on Linux backend, and this is because it is cheaper and more powerful than Windows platform (at least for the same amount of money).

Now, the thing that personally bugs me and could have hurt my business before, is that Microsoft deliberetly kills his own products, especially developer tools, in order to maintain high profit margins. True, you can still use C++ in .NET environment or VB 6.0, but all advanced features are reserved for latest and greatest in their offering. How is that affecting developers? It makes you "relearn" concepts again and spend huge amount of money on tools, books and for those who still belive in them, certificates.

On the other hand, tools like Java are also progressing, but at least they are free, so you don't have to shell out shitload of money just to be on par with competition. And when you are Senior Java developer you are acknowledged, but Senior VB 6.0 developer is unrecognized by those who search for Senior VB.NET developer.

I think you catch my drift.

Regarding ease of .NET deployment, I saw my share of non-working .NET applications due to faulty .NET runtime installation.

So, where am I in all of this? I use Python for most of my stuff and manage to accomplish eveything in it :p. I use Java only for those who explicitly ask for it.

how do you mean unprotected? you can run it through an obfuscator if you're planning on distributing it (although even that isn't 100% secure). generally yes, you're right though. grab a program like RedGate reflector and you have a fairly good view in to the code. i rarely program anything that gets released to people outside of my immediate colleagues though, so it's generally not an issue for me personally.

i understand the OS restrictions as a theoretical argument, however my counter to that is two fold. most organizations in real world business run windows. i haven't met a client yet consulting that doesn't have at least a few windows servers. so if you ever need to go get a legitimate company having a strong background in .NET technologies does have its rewards. the other side of my point is that when you're making BHW software for yourself you have complete control over which OS you use, and in recent years windows hosting has become insanely cheap (thank you virtualization!). now strictly from my experience if you're making some form of scraper, ewhore app, etc... i like to run as a windows application. it's easier to manage and you don't need to worry about postbacks, server downtime, or any other of the issues associated with an RIA.

now of course this is all one man's opinion. i always advocate doing what makes sense for your particular situation and your skill set. if you have some background in java, use that. if you know php really well, go there. but if you're starting from scratch i usually like to steer people towards .net. the IDE is rather friendly compared to others, the community support is excellent, and the framework is robust and proven. plus you have the ability to leverage the same framework in either C# syntax or VB.NET which gives you some good flexibility to use the syntax that clicks the best with you.

as far as what google, etc use, they have the luxury of a large resource pool and business supporting a highly structured development process. where as most of us BHW are losing food off our table each day that an app goes uncompleted. the rapidity and subsequent stability of my development is what keeps my revenue streams flowing. ;)

i ramble about this stuff a lot on here, but i guess it can really all be summed up by what will get the job done in the best way for the individual. to the OP, hit up google and look at the pros and cons of the platforms you're considering. take in to account operating system portability (if that is a concern for you), rapid development capabilities, ease of the syntax and framework (if applicable) that you will be using, etc etc.

as a very smart man that i always quote likes to say: "a language is a tool, and not a destination."

cheers. :cool:

-edit-

if you're green to .NET or OOP in general here is a post i put together with lots of good links for getting started in the language. this is also worth a look if you're junior to intermediate. there is some good info linked from here:

Code:
http://www.blackhatworld.com/blackhat-seo/visual-basic-6/15877-visual-basic-tutorials.html#post1981680
 

tacopalypse

Senior Member
Joined
Nov 30, 2009
Messages
989
Reaction score
2,547
Website
gta.wikia.com
different programming languages are used for different purposes.

you gotta first decide what you want your program to do, and then pick the best language to do it in.

there's no single 'best language for everything'
 

hotcheats

Regular Member
Joined
Dec 2, 2008
Messages
328
Reaction score
75
There's is nothing like more or less powerful languages...they're all just tools, what you can accomplish with them is up to developer.
 

39ster

Junior Member
Joined
Dec 12, 2009
Messages
174
Reaction score
59
I use command line PHP. It runs php script like any other console program. It's very good for making bots.
 

BinaryGenius

Newbie
Joined
Sep 17, 2010
Messages
30
Reaction score
1
It all depends, but C/C++ with asm could do whatever you like. What I have been told though is the real power lies in porting pieces through multiple languages. you can get the most portability and power of various apis. My friend was looking into using ffmpeg(written in c) ported to java then to javascript, the purpose being to build a video converting all on client's side (reducing bandwidth).
 
Top