[sf-lug] [new-sfwow] (jobs) This is interesting....

jim stockford jim at well.com
Wed Apr 12 22:01:52 PDT 2006


On Apr 12, 2006, at 11:54 AM, Thomas DiZoglio wrote:

>
> Today you need to know C++ and Java as a Software Engineer.
> Both have strengths in various parts of software development.
>
> For example, coding a server-side application that needs to
> handle a lot of user requests or integrated into a application
> server is best done in Java. This is because of all the great
> classes it provides for memory management, threading, ability
> to run on multiple platforms and network protocol handling
> (UDP/TCP up to HTTP). It takes very little Java code to write
> a robust server-side application where as for C++ the same
> would take 4 times as much code and a lot more knowledge of
> low level network protocols (assuming not using Microsoft
> system DLL's).
>
> Now C++ has Java beat for writing client side GUI Windows or
> Linux applications. Using Java and SWING for a client
> application on either platform will build a application that
> is 4 times the size of a C++ executable, runs a lot slower
> and you can't take advantage of the host OS's full GUI and
> system routine capabilities.
>
> Also, if you code on Windows using C++ and Microsoft's
> libraries (MFC, ATL, STL, etc.) it is pretty close to Java's
> runtime classes in capabilites. So knowing Java can be helpful
> and decrease you coding time writing a Windows C++ application.
>
> For example, you understand Serializing an object to write to
> file or send over the network. This was first done in Java and
> the feature is very useful so was added to MFC. So knowing both
> languages can make you a better object oriented programmer and
> write better code. This is why from a Software Engineering job
> perspective it is very important to know about both languages
> and being able to know when to use the correct one for the
> problem you are trying to solve.
>
> As for Windows/Linux coding, knowing both is important, but
> not as much as knowing Java/C++.
>
> For example if I wanted to run a server for email, website
> hosting, etc. I would use Linux. If I wanted to code a 3D
> multi-player game I would code on Windows using DirectX or
> OpenGL (for portablity). Knowing both these systems as a
> Software Engineer is good and will give you a much broader
> appeal for companies to hire you.
>
> I find this more true at the embedded level of programming
> where Windows (CE, XP) and Linux compete more because at this
> level both provide the same abilities and tools.
>
> So if you provide embedded hardware to OEM's it usually needs
> to run both systems. When coding GUI executables the systems
> are different enough, but you should still share most code
> (> 80%) if you are writing a cross-platform application and
> coding in C++ using true object oriented design(Java should
> require no code changes using SWING or AWT).
>
> If you need to write code from scratch when porting an
> application then the application was initially designed wrong
> (original coder told not to design for multiple platforms to
> save $$ on coding bill) or the Software Engineer doesn't know
> how to code or do his job properly.
>
> This is also why know multiple systems (Windows/Linux/Solaris/
> MacOS) helps you out as a Software Engineer because when
> designing an object oriented application you will create your
> class hierarchy properly to separate core code from platform
> specific code. this is always important because porting an
> application can happen even on Windows. Going from Windows XP
> to Vista will be a port.
>
> This is just my 2 cents from a Senior Software Engineer's perspective.
> ------------------------
> t0md
>
>
>
>  vincent polite wrote:
>  I thought this was an interesting little article from monster.com. 
> What do you guys think?
> http://technology.monster.com/articles/opensource/?WT.mc_n=MNL000118
>
> _______________________________________________
> sf-lug mailing list
> sf-lug at linuxmafia.com
> http://linuxmafia.com/mailman/listinfo/sf-lug
>
>
> __________ NOD32 1.1485 (20060412) Information __________
>
> This message was checked by NOD32 antivirus system.
> http://www.eset.com
>
> -- 
> CONFIDENTIALITY NOTICE: Proprietary/Confidential Information belonging 
> to eRide, Inc. may be contained in this message. If you are not a 
> recipient indicated or intended in this message (or responsible for 
> delivery of this message to such person), or you think for any reason 
> that this message may have been addressed to you in error, you may not 
> use or copy or deliver this message (and all attachments) to anyone 
> else. In such case, you should destroy this message (and all attached 
> documents) and are asked to notify the sender by reply email.
> _______________________________________________
> sf-lug mailing list
> sf-lug at linuxmafia.com
> http://linuxmafia.com/mailman/listinfo/sf-lug
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: text/enriched
Size: 5011 bytes
Desc: not available
URL: <http://linuxmafia.com/pipermail/sf-lug/attachments/20060412/c015a4b6/attachment.bin>


More information about the sf-lug mailing list