Overview
Features
Download
Documentation
Community
Add-Ons & Services

Would you recommend Poco

A general discussion forum.

Would you recommend Poco

Postby sfrings » 09 Sep 2010, 21:24

Hello,

if you are an experienced web developer, would you recommend to use Poco? I like to ask that question to the users of Poco, not to its developers. If you ever have used Poco, would you use it again? Did you encounter major problems that forced you to throw Poco away?

I am asking because I am not sure if it is worth to learn Poco and use test it in really large and long-term projects. I develop web applications in Java, and I am unsure if I should give Poco a try.

I am an experienced C++ programmer, but I never developed web application in C++. My job forced me to develop web applications in Java since 4 Years now, using Tomcat, and I will surely have to continue that work in the next years.

However, I was never a friend of Java, mainly because of its unnecessary ressource usage. To say it shortly: Java waists energy, and energy become more expensive every year. Why should I waist 80% of electric energy in a server farm, while I save energy wherever I can in my home envirronment?

I think, it is a good idea to learn writing web applications in C++. I'm 100% sure, that my applications could be much faster, much smaller and consume much less energy. I expect that development in C++ will possibly require more amnpower and thus cost more money. I am really very interested in doing my own experience and compare myself how much more expensive development of web application is if I switch to my personal favorite language, which is C++.

People say that Java is better because of the larger availability of libraries. As far as can see, this is not the case anymore. Every web related library seems to be available also in C++ since a long time. And Poco seems to collect the most common used stuff into a single framework. I cannot find any use-case which would require a Java library that is not also available in C or C++.

People say that Java is better because Java application are platform independent. But I say: this is a very old lie! I saw a lot of Java programs than run only on a particular operating system. On the other hand, I saw a lot of C++ program that are obviously platform independent. For example the Firefox Browser, the KDE Desktop, the MySQL Database, basically the whole Linux distribution (except its Kernel) can be compiled and run on Windows and even Mac OS. SO why do people say that Java provides platform independency which C++ does not? I have no idea. Maybe they just feel professionel when they repeat stupid sentences from SUN whitepapers.

Java causes hardly solveable problem, whenever the I/O interface are something else than just simple filesystem and network I/O. But on the other hand, I am 100% sure that I can use absolutely all operating system and hardware features with C++.

People say, Java supports UTF-8 which C++ does not. This is also a lie.

As more as I think about it, I feel that my job work of the last 4 years is based on a bunch of lies from SUN and that the management of my company did not notice that.

Now I want to find out If I am right to say that I could write all my web application in C++ instead of Java.

I should mention that I never used JSP. JSP is neither of programming language nor a template engine in my opinion. I never felt the need to use JSP, and my boss also does not want that I do it. In the past, I focused on Servlets. And I do not see any feaure in Java or Tomcat, that would not be possible in C++.

I also like to highlight that I am not interested in A "GUI over the web" framework, such as QT provides. Im more interested in a replacement for Tomcat and Servlet API. If that framework also provides stuff for logging, thead and job management, and maybe something for stateful sessions, that would be welcomed. Poco seems to be what I am searching for. Am I right?

So you see, I am absoluetle sure that writing web applications in C++ is practically possible. But what I do not know is, if trying out Poco is a good start or if I should first take a look at some other similar framework. My problem is, I found only Poco, nothing else. Is Poco the de.facto standard for web applications in C++, or do you know some other framework that I also should take a llok at?
sfrings
 
Posts: 1
Joined: 09 Sep 2010, 20:51

Re: Would you recommend Poco

Postby aderouineau » 12 Sep 2010, 13:41

sfrings wrote:if you are an experienced web developer, would you recommend to use Poco?


For large web projects, it would probably be better to stick with Java because it has many useful libraries. If you want/need to scale, GlassFish and Terracotta (amongst others) allow you to do that fairly easily, while it would take muuuch more time to implement it in a C++ project.

sfrings wrote:If you ever have used Poco, would you use it again? Did you encounter major problems that forced you to throw Poco away? I am asking because I am not sure if it is worth to learn Poco and use test it in really large and long-term projects.


POCO is awesome for many types of uses. Why don't you just look at the examples provided with the source code, or experiment with it a little bit before trying to use it for a big project ?

sfrings wrote:To say it shortly: Java waists energy, and energy become more expensive every year. Why should I waist 80% of electric energy in a server farm, while I save energy wherever I can in my home envirronment?


FYI, it's "waste". And I'm not sure where you got that Java consumes a lot of power... Any details on that?

sfrings wrote:I think, it is a good idea to learn writing web applications in C++. I'm 100% sure, that my applications could be much faster, much smaller and consume much less energy. I expect that development in C++ will possibly require more amnpower and thus cost more money. I am really very interested in doing my own experience and compare myself how much more expensive development of web application is if I switch to my personal favorite language, which is C++.


You seem to be contradicting yourself here. You want to switch to C++ because Java *allegedly* costs more on the electric bill, and yet hiring more C++ developers would cost more.

People say that Java is better because of the larger availability of libraries. As far as can see, this is not the case anymore. Every web related library seems to be available also in C++ since a long time. And Poco seems to collect the most common used stuff into a single framework.

sfrings wrote:I cannot find any use-case which would require a Java library that is not also available in C or C++.


Scaling through (decentralized) clustering.

sfrings wrote:People say that Java is better because Java application are platform independent. But I say: this is a very old lie! I saw a lot of Java programs than run only on a particular operating system. On the other hand, I saw a lot of C++ program that are obviously platform independent.


It is both a lie and a truth. As with any language, you need good programmers to create a good program in Java. Most of Java is platform-independent, but some programs depend on libraries that are not platform-independent. And some programmers don't take the time to check whether their program works on other platforms than the one they use (and perhaps another or two).

sfrings wrote:basically the whole Linux distribution (except its Kernel) can be compiled and run on Windows and even Mac OS.


*the* linux distribution? There is not one; there are many. And if you look at some of them in detail, you'll see that some run on more platforms (ie: Debian -> http://www.debian.org/ports/) than others. The reason does not come from C++ (and co) but because the maintainers of those distributions spend a lot of time porting every change to each branch. Debian's maintaining circle is made up of thousands of developers.

Your statement also does not make sense. How can a linux distribution run for a certain platform if the linux kernel can't ? The kernel is the *core* of a distribution, and the latter is more or less an assembly of user-land packages and more kernel-land modules.

sfrings wrote:People say, Java supports UTF-8 which C++ does not. This is also a lie.


It is not a lie. You need to rely on libraries for UTF-8. In Java the standard library handles it. In C++ you need an external one.

sfrings wrote:Now I want to find out If I am right to say that I could write all my web application in C++ instead of Java.


Only you can answer that question after playing with a few libraries.

POCO
Boost
Echo3 - C++ Web library

sfrings wrote:I focused on Servlets. And I do not see any feaure in Java or Tomcat, that would not be possible in C++.


It seems you've been missing many things in Java ! It does not revolve around servlets and tomcat. You should check out GlassFish, and the (too) many web frameworks. Spring is pretty popular.
aderouineau
 
Posts: 163
Joined: 18 May 2009, 17:38

Re: Would you recommend Poco

Postby alex » 02 Oct 2010, 14:39

sfrings wrote:I also like to highlight that I am not interested in A "GUI over the web" framework, such as QT provides. Im more interested in a replacement for Tomcat and Servlet API.


There is a Poco Servlet implementation, but it's not maintained. If you want to pick up from where I left, you're welcome to do so. I am happily using OSP with for web stuff, but that's not freeware (although you do get the sources).

sfrings wrote:So you see, I am absoluetle sure that writing web applications in C++ is practically possible. But what I do not know is, if trying out Poco is a good start or if I should first take a look at some other similar framework. My problem is, I found only Poco, nothing else. Is Poco the de.facto standard for web applications in C++, or do you know some other framework that I also should take a llok at?

There is also Wt.
alex
 
Posts: 1086
Joined: 11 Jul 2006, 16:27
Location: United_States

Re: Would you recommend Poco

Postby rmoffer » 22 Oct 2010, 02:11

I would easily recommend Poco for my use. I can't recommend it generically, since selecting a technology is as much a business decision as a technical one.

I first used Poco as the basis for a set of tools we developed for the first company I co-founded. Unlike the typical Poco user, we were an enterprise software company developing system management applications for the datacenter.

That start-up has since been acquired by VMware.

The technology I'm currently working on uses Poco for everything - whereas the prior company used Apache and PHP for its management console, I'm now using Poco web server container combined with SOAP and REST services to implement the entire product suite - the management UI will probably be Flex-based. My design is for a modular system utilizing multiple subsystems (along the lines of OSP) that uses events to remain loosely coupled.


Why did I make the decision to go with Poco ? Even with the first company, people (VCs, partners, customers) were initially surprised I selected a C++ framework rather than a java solution - but I'm an operating system person and the people I hire have a background in operating systems, so it made sense.

That's not to say that finding Java developers (in Silicon Valley) wouldn't have been easier. Particularly as the enterprise software ecosystem is mostly java based.

And in the past, getting people up to speed with Poco took some time - so I'm really impressed with what Guenther and the team have done with the new guides.


richard.
rmoffer
 
Posts: 48
Joined: 09 Feb 2009, 19:20
Location: San Francisco bay area.


Return to General Discussion

Who is online

Users browsing this forum: No registered users and 1 guest