Does any one know in which programming language were Google Talk application developed.
yes am asking about the windows client application. :)
http://www.google.ro/talk/
googletalk.exe -> Compiled with: Microsoft Visual C++ 7.0 [Debug]
gtalkwmp1.dll -> Complied with: Microsoft Visual C++ 7.1 DLL
So GTalk is written in C++
You'll find http://www.peid.info/ pretty useful for this kind of stuff.
According to Steve Yegge, Google is using C++, Java, Python, and JavaScript. So the answer would be C++ :)
Google released an open source library for Google Talk called libjingle, which is written in C++. So logically, the Windows client would probably be C++ too.
Do you mean the client side, or the server side ? The talk protocol is Jingle and libraries are available in C/C++/Java.
Ideally the protocol would be language independent, and consequently both sides (client and server) would not be constrained to a particular language.
According to this Google-talk Wiki, it uses libjingle which they've implemented in C++. However, a company as big as Google is big enough to develop their own in-house compilers with support for whatever dialect they prefer. This would be a sensible thing to do for Google, to have something which could be compiled for every operating system that they want to support.
I don't have Google-talk but I checked the binaties of Picasa, another Google application. It mentions the Visual C++ Runtime Library so I guess I'm wrong and Google is probably just using Visual Studio instead.
In general, C++ is a platform-independant language, making it the most appropriate language to use to write new projects. However, depending on the desired functionality, you do need the proper libraries for all the platforms you want to support and make sure they all expose the same methods.
Java generates platform-independant binaries. As such, it's more powerful than C++ but those binaries depend on the Java Virtual Machine, which reduces their performance. This makes them less qualified.
There are plenty of other languages that could have been used but Google is most likely using a language that supports as many platforms as possible. (Including the future Google Chrome Operating System.)
Related
I'm starting to desing ะก++ Linux program with Qt-based GUI. Now I'm looking for all possible embeddable browsers which I will be able to use in my project. I know about Chromium-based solutions - Berkelium, CEF and Awesomium. Anything else?
Also it will be nice to hear some comments about practical use of such systems.
What about using QtWebKit that's already in your Qt-based system? TideSDK may be of interest. It probably has a way to use a C++ backend, as the toolkit already works with Ruby, Python, and PHP. However, I think they are primarily a packaged version of CEF for dynamic languages.
I am starting a project that is heavily graphics related (think, paint app with layers).
Anyway, I have a long history in C#, Java, JavaScript and Ruby. This application will be open source.
But what I'm looking for is a "build once, use everywhere" framework. Most of the platforms I've looked into either seem to be far too outdated, too complicated, or just not a right fit.
I've looked into Swing, WindowBuilder, wxRuby, etc. So many choices and none seem modern enough, have good documentation, etc.
I was a C# desktop developer for years so if I were targeting Windows only, I would go that route easily. But I want my app to run on Macs too. But, I would like the Mac version to look like it was designed for a Mac and the Windows version designed for Windows, etc. I'm looking at the Mono Project currently. But the idea of my Mac users installing Mono doesn't appeal to me.
Anything Ruby based would be cool but not required.
Anyway, what are some recommendations? I use NetBeans, Eclipse and Visual Studio. So I'm not concerned with learning new IDE's if I had to. I even thought about doing it all in JavaScript and using the canvas but since I need to work with large, local binary files, I didn't know if that would be a good option.
Thanks for any suggestions.
Real Studio can create cross-platform desktop apps for OS X, Windows and Linux. It can also create Cocoa apps and you can use it to interface with Cocoa directly when needed.
However, Real Studio creates Win32 apps, not .NET apps so you cannot directly interface with .NET libraries.
I'm developing a cross-mobile platform framework using C as base. Then i will make some wrappers for each specific platform (like ios, android, bb). One of my targets platform is firefox-os. I de like to know if will be possible to use c libs in firefox-os, but i couldn't find anything about it.
If you look at the following Firefox OS architecture document it should answer your questions:
https://wiki.mozilla.org/B2G/Architecture
For example, under Gaia it says, "Its only interface to the underlying operating system is through Open Web APIs, which are implemented by Gecko." That means that Javascript is the only interface you have to lower-level calls provided they are available via the Open Web APIs.
A workaround would be compiling your C code to JavaScript with emscripten. Firefox will implement asmjs in the near future, so the compiled code will probably be very performant (since emscripten will target asmjs as output).
Are there any good OOP languages that you can use on Linux? Obviously Java comes to mind, even running C# under mono.
Looking for a language that can be used for all round development, web dev, desktop, services etc.
Besides Mono C# and Java anything else come to mind?
Python seems to be the obvious choice. There a lot of great web frameworks for it, strong support for development of GTK desktop apps and many others. Ruby should also be mentioned, although it's not usually used for desktop apps.
Don't forget other languages running on top of the JVM either - most notably Scala, Clojure and Groovy.
Vala and D are new and interesting languages with some quality tools available. Vala was primarily designed to work smoothly in GNOME environment.
All of them. Whatever you want to use on Linux, you can.
Linux developent is a lot of things. For GUI application programming, you're most likely to want to program for one of the two big desktop environments, GNOME and KDE, or directly to the widget libraries that they are built on, GTK+ and Qt.
GTK+ is at its root a C library with object orientation being implemented as a set of conventions, very simply explained. However, many now program GTK+ and GNOME using true OOP languages like C++, C# using Mono (some very popular and default GNOME applications are built on Mono).
Another very interesting language for GTK+/GNOME is Vala, which is made to look and behave like C#, but which compiles to idiomatic GTK-using C, so all the GTK+ OOP conventions are lifted up to be part of the Vala language.
KDE and Qt are basically C++ libraries, but these also have bindings to other languages.
Both environments have good Python bindings.
You can still use C# with the Mono project.
Python and Ruby are probably the most logical choice for all-round development. PHP is also great for web development.
Interesting how as soon as Java gets ruled out as an answer that we go straight for dynamic languages.
I'd still suggest using Java as a lot of your C# knowledge will apply with subtle differences in convention.
For the compiled type of app how about Freepascal.
Multi-platform and pretty easy to get the hang of for a C#/Java developer I would have thought. Can do web, desktop, client-server etc etc. And free (as the name implies!). Plus, it's based on Pascal (obviously) so it's well tried and tested and not one of the 'languages du jour' :-)
Give a try to the Free Pascal and Lazarus IDE.
You are getting support for multiple platforms, not only Linux. You write code once and compile it everywhere and you have a quite nice IDE which will speed up your development process.
Take a look at screenshots
TIP: When using Lazarus try the last daily snapshot instead of stable release. Snapshots are much more up to date with bugfixes \ features.
Consider C++ with Boost.org. Boost is always coming out with new releases and it's all open source. Linux and C++ have a very long history and there are plenty of stable tools. Once you know C++, many new worlds seem to open up. There are several good IDE's as well. I like code::blocks.
Can someone give examples of some good applications / project that are made in VC++ commercial and non-commercial.
What do you use VC++ for these(2008...) days ?
Do enterprise application three tier i.e get written in VC++
Is there any use in leaning MFC these days?
Computer games are mostly still written in C++ on Windows using Visual Studio. Enterprise applications do usually use c# or java as enterprises have more money to buy hardware to make up for the difference in performance where games need to run on a significant amount of devices such as the PS3, Xbox 360, PS3, Windows, Mac etc. with limitations on memory.
Also embedded products, system utilities and software that makes extensive use of several low level API's are still written in C++. It definitely still has uses.
For low-level stuff, there is still nothing that beats C and C++. For example, I wrote Taekwindow in Visual C++ 2008. It consists mostly of Windows API calls; any other language would be too much of a hassle, and in this case not even possible (hook procedures).
The configuration tool was done in C#, but I am currently redoing that in C++ to make code reuse easier. I did look at MFC briefly, but decided that I didn't like its bloat for such a simple program, so I ended up using only the vanilla Windows API and its dialog manager. Admittedly, I can be a bit of a masochist sometimes.
Microsoft said that they'll improve MSVC because they have customers who have millions of lines of C++ already. For all I know, most well-known, commercial applications for Windows, not to mention Windows itself, are built using MSVC: i.e. applications which have been years in the making.
The most recent time I used MSVC (and MFC) was on a PocketPC/SmartPhone (i.e. Windows Mobile).
The majority of cross platform computer games are always written in VC++ since abstractions are always used anyway. Some platforms such as PS3 even allow for games to be compiled straight out of VC for PS3.
I'd say, anything cross platform that has to run on both Windows, mac and/or linux has a high chance of being written in VC because it's the best IDE out there.
Visual C++ is the ultimate programming tool which is still widely used in Most of the Core Banking and financial products developed by software companies. AS far as I know, adobe products are developed in VC++ and if you want to code anything in windows based pda or phones , vc++ embedded which is also called eVC++ is the way to go. Most of the kernel level rootkits are developed making use of VC++ with DDK functionality. The list goes on like that. There is no reason to consider vc++ as being not used these days.