Exetools  

Go Back   Exetools > General > General Discussion

Notices

Reply
 
Thread Tools Display Modes
  #1  
Old 01-03-2006, 08:40
peleon peleon is offline
Friend
 
Join Date: Sep 2003
Posts: 174
Rept. Given: 0
Rept. Rcvd 7 Times in 1 Post
Thanks Given: 0
Thanks Rcvd at 7 Times in 7 Posts
peleon Reputation: 7
Is there any future?

Hello guys,

I have asked myself many times about what the future will be about coding applications, that is, which processor and language will dominate the future.

As you all know, x64 is here, also IA64, also .NET...too many things have arrived while I (and I guess most of us from Exetools )) are still "stuck" on Win32 programming (especially x32 assembly )

What do you think that it will "dominate" the future?

1) x64 programming (that is, native code like current Win32 ASM for AMD64...)

2) .NET programming

3) IA64 programming

4) Other crappy...


I know that it's time to learn about something else than x32 assembly...but what?

Cheers.
Reply With Quote
  #2  
Old 01-03-2006, 09:09
ADX
 
Posts: n/a
Maybe x64 programming (1), but I have no information about the topic.
Interesting topic .
More experiencied people will answer you more detailed than me ^^.

Byez
Reply With Quote
  #3  
Old 01-03-2006, 10:14
deroko's Avatar
deroko deroko is offline
cr4zyserb
 
Join Date: Nov 2005
Posts: 217
Rept. Given: 13
Rept. Rcvd 30 Times in 14 Posts
Thanks Given: 7
Thanks Rcvd at 33 Times in 16 Posts
deroko Reputation: 30
if you know i386 assembly then x64 is not a big problem =)
I like those lea rbx, [rip] so we can get delta without call/pop combo.

Well I guess I'll have to move back to C one day, or code only programs for my athlon64 in pure x64 asm.
Reply With Quote
  #4  
Old 01-04-2006, 19:33
Kerlingen
 
Posts: n/a
@peleon:
I'm sure that IA64 will not become the future of coding. Itanium processors have been available for a long time now and didn't catch much attention. They are very expensive and have only limited use.

The fact that Intel offers C++ cross-compilers for IA64 doesn't tell much about the Itanium future. Intel is also offering FORTRAN compilers since many years and nobody notices it because of the limited usability.

x64 programming will come for sure since it can be added to most modern high level programming languages without much trouble and can be enabled by the programmers with just one compiler switch.

I hope .NET will not be the future of programming. It is simply not portable. Making code run only with interpreters or within virtual machines makes it thousands of times slower than it could be. This is acceptable for languages like Java, PHP or Python since they are very portable and only used for smaller projects. All .NET crap runs only on Windows and there are no plans from Microsoft to port the framework to any other OS.

This is why .NET is completely useless and will hopefully die very soon (but the release of VS2005 reduced my hopes already). Only people "programming" with their mouse instead of their keyboard could think different.

Some "other crap" will also come in future, but it will not get big influence. It might be used to make analysis of some protections harder or to write applications for mobile telephones or refrigerators. There is really nothing you could especially learn now to be prepared for it when it comes in future.

So if you already know x32, learning x64 and always using common sense will give you some more years of reversing without having to worry much about future technologies.
Reply With Quote
  #5  
Old 01-04-2006, 20:17
lord_Phoenix
 
Posts: n/a
Maybe (1) - x64 programming - it's our future, and everything is pointing to it..
And (4) Other crappy will come to our world.

And I agree with Kerlingen, .NET programming is going to die. (It was doomed from the creation moment as for me)

ps. x64 forever =)
Reply With Quote
  #6  
Old 01-04-2006, 23:44
theCaller theCaller is offline
Friend
 
Join Date: Feb 2002
Posts: 53
Rept. Given: 3
Rept. Rcvd 1 Time in 1 Post
Thanks Given: 0
Thanks Rcvd at 1 Time in 1 Post
theCaller Reputation: 1
Post

Well,
I'm do not totally agree with this way of seeing and consider things. I personally think that what is going to be will be lead (as always) by market rules, by what is going to make companies more money, and customers more satisfied (sometimes )

It's really annoying to go on reading in forums about holy wars between this language and that language, this platform and that platform: It's simply not the point of interest.

During these years I've been facing different languages and platform as many of the people joining this great forum: some for job needs and others just for curiosity and passion. It's not a matter of "this is crap" and "that is gold", I think it is not acceptable.

Saying Java, PHP or Python are used for small projects is greatly false. I followed many big projects involving java. And you could not tell they were 'small', same for PHP or Python; as well as the attitude of excluding the power of any platform and/or software solution.

Unfortunately in these years we saw the rise and fall of many technologies, but this is the proove that market and consumers needs is what rule the world of technologies.

I personally love and worked with [win]asm, java, C, C++, yeah even .NET (why not?) ... and it is all different ways of making and thinking of things.

Saying ".NET is completely useless" for it is not portable, is a sad way of consider things: even win32asm is not portable... So what?, here everyone is happy with it, right ?
.NET is based on CIL that is a public specification submitted to ECMA; the CLR is the Microsoft implementation of that specification, if you want you can provide you own implementation.

Maybe it's the time of making a little step forward from the same old holy war discussion. And from dividing things between "crap" and "gold".

Best regards,
theCaller
Reply With Quote
  #7  
Old 01-05-2006, 03:31
Kerlingen
 
Posts: n/a
Quote:
Originally Posted by theCaller
Saying ".NET is completely useless" for it is not portable, is a sad way of consider things: even win32asm is not portable... So what?, here everyone is happy with it, right ?
That's not really the point I was thinking about. Highly optimized and low level machine dependent code is always fast, but not portable. High level language code is slower but also more portable. Code running inside virtual machines is very slow, but also the most portable.

Hovever, .NET combines this in a completely wrong way: It is not portable and it is slow like hell.
Reply With Quote
  #8  
Old 01-05-2006, 03:33
peleon peleon is offline
Friend
 
Join Date: Sep 2003
Posts: 174
Rept. Given: 0
Rept. Rcvd 7 Times in 1 Post
Thanks Given: 0
Thanks Rcvd at 7 Times in 7 Posts
peleon Reputation: 7
Very interesting ideas.

Well, to be honest, I would love .NET to die...but I think that many companies will be influenced by it and they will use it. I can imagine those companies that want to look powerful when they use Microsoft latest technologies.

I see Bill Gates saying ".NET is the future and it will be included in 99% of the future applications" and those "blind" project managers responding "yes, it must be the future. We have to include it already so we are in the top line...."

Anyway, let's see what the future brings....
Reply With Quote
  #9  
Old 01-05-2006, 04:30
dedificator dedificator is offline
Friend
 
Join Date: Oct 2002
Posts: 89
Rept. Given: 4
Rept. Rcvd 16 Times in 6 Posts
Thanks Given: 0
Thanks Rcvd at 4 Times in 4 Posts
dedificator Reputation: 17
Hmm... about that .NET (un)portablity - there are already non-M$ CLR distributions, targeted not only to Windows (such as Mono). Of course, Mono and other vendors doesn't include ALL .net framework classes in their products, so this fact must be accounted, however this offers some possiblities.
And, choice of usable language/platform is very, very project dependent thing.
In my opinion there is place even for .NET as for C++.
Reply With Quote
  #10  
Old 01-05-2006, 06:28
theCaller theCaller is offline
Friend
 
Join Date: Feb 2002
Posts: 53
Rept. Given: 3
Rept. Rcvd 1 Time in 1 Post
Thanks Given: 0
Thanks Rcvd at 1 Time in 1 Post
theCaller Reputation: 1
Hi,
I totally agree with you dedificator, it is useless flaming holy wars on this and that. Everything depends on the use of it. Nothing more, nothing less.

It is true: interpreted languages is far away slower than native code. But everything in this world is the result of compromises.

There's still not the perfect thing. It's something like the holy grail search.

... seaching on ... seaching on ... seaching on ...

best regards,
theCaller

Last edited by theCaller; 01-05-2006 at 06:33.
Reply With Quote
  #11  
Old 01-05-2006, 08:29
SOLAR SOLAR is offline
Friend
 
Join Date: Aug 2004
Posts: 126
Rept. Given: 6
Rept. Rcvd 2 Times in 2 Posts
Thanks Given: 12
Thanks Rcvd at 6 Times in 6 Posts
SOLAR Reputation: 2
.Net will LIVE ON!...So if you think it's gonna die...DREAM ON!

Haha....NET is the future as far as I am concern and can see, currently with regards to business application development.


As for x64 at this time it is HIGHLY overrated and it wont be very popular until the next few years if it does become popular...and by then .NET would have definitely progressed even more..

Like one of the posters said you cant bash M$ for nothing...whether you want to accept it or not M$ rules most computer user's systems from the OS to the Chat program to the browser to the Office Suites and other applications to the Application Development Platform :-D

Just for the record I'm primarily a MAC OS user however, when it comes to software development and making money...Rock on M$!

I'm nearing millionaire status and you know what is largely responsible for it??...Microsoft Technologies (OS, Applications etc.) and nowadays .NET!


Hell

Last edited by SOLAR; 01-05-2006 at 19:42.
Reply With Quote
  #12  
Old 01-05-2006, 12:20
md5
 
Posts: n/a
.NET is overall a very good platform. M$ have taken a lot of ideas from other languages (e.g. Java, Perl and PHP) but overall .NET allows programmers to code in the coding style that they like (C++, C#, VB, Pascal), without having to learn everything from scratch. In each and every language interpreter that sits on top of .NET, the majority of the underlying objects that the framework provides is exactly the same - hence, the programmer can choose the language he/she feels more comforable with, learn how to do tasks and port the ideas over to other languages. Everything is object-oriented, not like the hellish and cumbersome MFC classes (like Java, as M$ took a lot of ideas from it). Plus, VB.NET is a true and organized object-oriented language, unlike the sloppy piece of crap that VB6 (and earlier versions) is

Moreover, it's not slow, in fact all the .NET applications I've seen are lightning fast (with the notable exception of ATI Control Panel). As for portability, theCaller has explained it very well.

I'm not a Microsoft lover (that's why I always call them M$ ), but I do like .NET and the flexibility and power it gives to programmers.

Unfortunately, nowadays companies and people want good results and they want them now. It's not feasible to reinvent the wheel for every single project and languages like Java and the .NET platform do have a lot of classes for many different things

Plus, saying that Java and PHP are oriented for "smaller projects" is not true either... I've also seen many many many large projects coded in those languages, as they are both flexible, powerful and above all, free. CIL projects (e.g. Mono) as well as the .NET SDK are free too (like Sun's)

I've programmed in many languages and I've seen many things. I can't say if ".NET is the future" like Gates supports, however it's a very powerful and organized platform. I honestly don't understand why there are people who "want it to die", especially without reasoning, other than the fact that it's an M$ product. It's a programming platform, supporting many languages, it works and many many people use it

As for the other suggestions, I too believe that IA64 is dead - nobody was ever interested in it, mostly because of the Itanium prices and the very small number of Itanium processors on the market nowadays. x64 is great, mostly because Athlons can run quite happily both 32-bit and 64-bit applications with very good performance. I don't believe that programmers will use the extras that a 64-bit platform offers any time soon, but mostly recompile current 32-bit programs as 64-bit (apart from drivers - those will need many changes, unfortunately)

I know that my post seems to be ramblings of an "M$ fanboy". However I've read many negative opinions about .NET without reasonable explanations in this thread
Reply With Quote
  #13  
Old 01-05-2006, 16:21
ssb ssb is offline
Friend
 
Join Date: Jul 2004
Location: Europe
Posts: 16
Rept. Given: 0
Rept. Rcvd 0 Times in 0 Posts
Thanks Given: 0
Thanks Rcvd at 0 Times in 0 Posts
ssb Reputation: 0
.NET is just another pcode VM, similar to JAVA.
Although I have nothing against .NET or anything new, I cannot stand Microsoft when they try to push developers to move to a platform inferior in terms of performance.
When .NET be able to compile and link statically, create self contained executables, create kernel level code or drivers, I will definatelly drop my unmanaged C++ compiler.

Until then, may I have a linker please ?
Reply With Quote
  #14  
Old 01-05-2006, 18:08
md5
 
Posts: n/a
Quote:
Originally Posted by ssb
When .NET be able to compile and link statically, create self contained executables, create kernel level code or drivers, I will definatelly drop my unmanaged C++ compiler
It can, when you build C++ projects. You can choose to include the .NET libraries or the normal STL library of functions, in which case your final executable doesn't need the .NET framework (obviously) and can be linked statically
Reply With Quote
  #15  
Old 01-06-2006, 00:58
dedificator dedificator is offline
Friend
 
Join Date: Oct 2002
Posts: 89
Rept. Given: 4
Rept. Rcvd 16 Times in 6 Posts
Thanks Given: 0
Thanks Rcvd at 4 Times in 4 Posts
dedificator Reputation: 17
But basically .NET is intended for user level application programming, therefore it hasn't integrated all WIN32 API access, only via P-invoke.
At last, there are very rare situations, when data processing or something like application needs to directly address OS low-level functions.
If one is coding not only for fun, but for money also, .NET with it's VS2005
greately reduces developing/debugging and projecting time, especially buiding user interface and database design (and as we know, time is money .......).

BTW, i'm mainly building data acquisition and remote/telemetry systems and even then i don't need in low-level resources access, excluding mobile devices itself, of course.
Factically, even system service, written on .NET, works with the same results and efficiency, that oldest one, based on MFC (W2003 server, some sort of gateway/proxy).

About efficiency - after switching to .NET we were increased minimum hardware requirements for database client workstations to Pentium 2, however even P166 with 64M works well. From user's point of view, installation and maintanence are much more easy, than MFC or VB runtime dll support. User intarface, built using .NET is much faster, than this same on Java base.

Self-contained executable is good thing, but in case, for example Delfi, this comes at some cost - dlls are linked into executable, greatly increasing it's size. And .NET runtime must be installed on computer only once. All other executables after that becomes like self contained.

So, i personally have nothing bad to say in VS2005/.NET address, if target system has enough CPU and RAM resources. But these are now not expensive parts. If i need to access some sort of unmanaged resources (for example LPT, USB ...), i'm using C++.
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



All times are GMT +8. The time now is 23:51.


Always Your Best Friend: Aaron, JMI, ahmadmansoor, ZeNiX, chessgod101
( Since 1998 )