C++ and Qt now making business news

J

Juha Nieminen

seasoned_geek said:

"The days of paying for costly software upgrades are numbered. The PC
will soon be obsolete. And BusinessWeek reports 70% of Americans are
already using the technology that will replace it. Merrill Lynch calls
it "a $160 billion tsunami." Computing giants including IBM, Yahoo!,
and Amazon are racing to be the first to cash in on this PC-killing
revolution. Yet, a small group of little-known companies have a huge
head start. Get the full details on these companies, and the
technology that is destroying the PC, in a free video from The Motley
Fool. Enter your email address below to view this stunning video."

Sounds like BS marketing to me.
 
N

Nick Keighley

"The days of paying for costly software upgrades are numbered. The PC
will soon be obsolete. And BusinessWeek reports 70% of Americans are
already using the technology that will replace it. Merrill Lynch calls
it "a $160 billion tsunami." Computing giants including IBM, Yahoo!,
and Amazon are racing to be the first to cash in on this PC-killing
revolution. Yet, a small group of little-known companies have a huge
head start. Get the full details on these companies, and the
technology that is destroying the PC, in a free video from The Motley
Fool. Enter your email address below to view this stunning video."

  Sounds like BS marketing to me.

yes. Tablets plus clouds?
 
J

jacob navia

Le 16/02/12 15:33, Nick Keighley a écrit :
yes. Tablets plus clouds?

That is the dream of all corporations. Imagine:

1) No way to store locally your data. You are tied for all your data
processing needs to your "cloud". Email, address book, phone numbers,
friends addresses, all your music, books, photographs, is no longer
under your own control but it is alienated from you in some computer
where you do not control anything.

2) No privacy any more, all your data is public and traded by
corporations that sell it without giving you a penny (of course).

3) Your tablet is no longer able to receive your commands directly. All
your software is stored at the cloud and stores all the new data you
enter in the cloud.

The world of IBM Mainframes of the seventies AGAIN, but this time MUCH
more dangerous since we have MUCH more digital data and we are much more
dependent of that data.

I am not in facebook, nor in twitter, nor do I send anything to any
cloudy servers somewhere. Yes I am stupid, retrograde, and (gasp) I
insist on denying anyone that I do not know access to my personal data.

The end of the PC: the PERSONAL computer. Nothing is personal any more
in the new, shiny tablet.
 
S

seasoned_geek

"The days of paying for costly software upgrades are numbered. The PC
will soon be obsolete. And BusinessWeek reports 70% of Americans are
already using the technology that will replace it. Merrill Lynch calls
it "a $160 billion tsunami." Computing giants including IBM, Yahoo!,
and Amazon are racing to be the first to cash in on this PC-killing
revolution. Yet, a small group of little-known companies have a huge
head start. Get the full details on these companies, and the
technology that is destroying the PC, in a free video from The Motley
Fool. Enter your email address below to view this stunning video."

  Sounds like BS marketing to me.

that is not part of the article, but a poorly identified advertisement
Motley stuffs into the bottom of all posts
 
R

Rui Maciel

jacob said:
That is the dream of all corporations. Imagine:

1) No way to store locally your data. You are tied for all your data
processing needs to your "cloud". Email, address book, phone numbers,
friends addresses, all your music, books, photographs, is no longer
under your own control but it is alienated from you in some computer
where you do not control anything.

2) No privacy any more, all your data is public and traded by
corporations that sell it without giving you a penny (of course).

3) Your tablet is no longer able to receive your commands directly. All
your software is stored at the cloud and stores all the new data you
enter in the cloud.

The world of IBM Mainframes of the seventies AGAIN, but this time MUCH
more dangerous since we have MUCH more digital data and we are much more
dependent of that data.

I am not in facebook, nor in twitter, nor do I send anything to any
cloudy servers somewhere. Yes I am stupid, retrograde, and (gasp) I
insist on denying anyone that I do not know access to my personal data.

The end of the PC: the PERSONAL computer. Nothing is personal any more
in the new, shiny tablet.


And let's not forget the convenient monthly payments these corporations
expect the general public to pay for the privilege of doing less than what
we have been doing easily for years, if not decades.


Rui Maciel
 
S

seasoned_geek

Am 15.02.12 22:57, schrieb seasoned_geek:



For example, he talks about portability issues of frameworks like Java
and .NET, and then claims, that these issues are non-existent for QT
using the words:
'I have no idea what those marvelous gentlemen imbibed at Trolltech to
come up with “Signals and Slots,” but that design strategy has
officially delivered Utopia.'

And they don't. Nothing like .Net which is portable to any Microsoft
platform and Java which is only portable to another machine running
the same version of the VM with the same memory and security settings
and the exact same version of the browser when running inside of a
browser with the exact same settings in that browser.

While it's certainly true that the
signal/slot mechanism is nice to handle events in C++, it has
*absolutely nothing* to do with the portability issues. These issues are
rather an indication on how hard the developpers tried to eliminate the
platform differences. Also, the number of issues increases with the size
of the toolkit. Java and .NET are both really, really big frameworks.

It has oceans to do with the portability issues.

I have been doing cross platform, not cross-microsoft-platform, but
actual cross platform since the days of DOS. I also wrote the only
two books on Zinc which was the best of a bad situation in its day.
Zinc allowed you to develop on DOS, Windows, MAC, and OS/2, but the
developer REALLY had to work at it ESPECIALLY if you needed to do any
form of data storage or file creation. In order to add serial
communications and parallel IO to implement a scale-stoplight-
cashdrawer application I had to completely re-develop the event loop
of the library. We had to do horrible things with "friends" and macro
overloading AT THE APPLICATION LEVEL to port between environments and
the massively different protection schemas between Borland, Watcom,
Microsoft, Zortech, and Visual Age compilers. Signals and slots fixed
this.
Later on, he writes:

"Qt doesn’t care what OS or device. App developers no longer care what
OS or device." even with respect to mobile platforms. Who ever has tried
to use a standard website on a small mobile phone immediately agrees
that this is nonsense. Mobile apps must be tailored to the display size
and touch screen input methods and are very different to use than
desktop apps.

Qt doesn't care. If you develop your app narrow, neither do you. Qt
also hides the different input methods, but you have to understand the
full scope and power of Signals and Slots.
Then, "You get the snap and speed of a pure executable (which cannot be
matched by an interpreter no matter what Java developers claim)." Sure,
native compilation is good for performance, but interpreters and virtual
machines have become a lot better in the last ten years. Very often,
when designing GUIs, you don't need very high speed.

Very often when designing GUIs for a production environment speed is
everything. Obviously you develop only for the personal user world
with no real world high volume experience. Whether it is stock
trading (of which I've written trading floor systems for an actual
stock exchange) or bill payment centers or coupon entry, speed is
mandatory. In the case of bill payment centers there are legal
requirements now in place (particularly for credit card companies)
regarding the maximum amount of time between the receipt time stamp on
the envelop and the credit being applied.

While this may come as a shock to you, many data entry people are paid
via piecework. They don't want to use a mouse, ever. They both want
and need all of the numeric entry optimized into one continuous
portion of the screen and all text entry into another to minimize hand
movements. If you advance in your education you will find that there
were and still are required courses for (then systems analysts which
evolved from "efficiency experts") to now Application/Technical
Architects. You will spend weeks if not months covering design of
efficient data entry and how to eliminate as much data entry as
possible. Phone bills used to come with a punched card to speed up
the entry process, now they have barcodes on them. All of it to
eliminate hand movements.

When you are entering stock trades where non-seconds mean serious
differences in the price of a MKT order, speed is sacred.

All in all it's a very biased article that has not much to tell....

thankfully more to tell than this post.
 
S

seasoned_geek

yes. Tablets plus clouds?

that is not me. It is an advertisement which isn't clearly identified
stuffed into the article by the Web site. View a few more articles
and you will see it. I see that same ad on Yahoo sites as well.
 
S

seasoned_geek

1) No way to store locally your data. You are tied for all your data
processing needs to your "cloud". Email, address book, phone numbers,
friends addresses, all your music, books, photographs, is no longer
under your own control but it is alienated from you in some computer
where you do not control anything.

2) No privacy any more, all your data is public and traded by
corporations that sell it without giving you a penny (of course).

3) Your tablet is no longer able to receive your commands directly. All
your software is stored at the cloud and stores all the new data you
enter in the cloud.

The world of IBM Mainframes of the seventies AGAIN, but this time MUCH
more dangerous since we have MUCH more digital data and we are much more
dependent of that data.
again, that is an ad stuffed into the article by the site.

I actually echoed many of your sentiments in my award winning SOA
book.

http://www.theminimumyouneedtoknow.com/soa_book.html

I analyzed it in detail and took it a lot farther. In fact, after I
got done, I had to write a novel, "Infinite Exposure"

http://www.infiniteexposure.net/
 
J

Juha Nieminen

seasoned_geek said:
that is not part of the article, but a poorly identified advertisement
Motley stuffs into the bottom of all posts

Advertisements not clearly identified as such are illegal in many
countries. On the other hand, anarchy is the rule in the internet...
 
E

Ebenezer

And let's not forget the convenient monthly payments these corporations
expect the general public to pay for the privilege of doing less than what
we have been doing easily for years, if not decades.


In a lot of cases there's more functionality in the on line
version. I'm sympathetic to your point, but what other
business models are viable in as corrupt a world as this?
Call us crazy, but businessmen expect to be nicely rewarded
for our investments.

The C++ Middleware Writer and many other services are free. So
at least in some cases there's no complaining about the cost.

Brian
Ebenezer Enterprises
http://webEbenezer.net
 
R

Rui Maciel

Ebenezer said:
In a lot of cases there's more functionality in the on line
version. I'm sympathetic to your point, but what other
business models are viable in as corrupt a world as this?

What do you mean by that?


Rui Maciel
 
N

Nick Keighley

And let's not forget the convenient monthly payments these corporations
expect the general public to pay for the privilege of doing less than what
we have been doing easily for years, if not decades.

plus in actuality it isn't "always there" and when it is fast wireless
access isn't as ubiquitous as this technology needs
 
N

Nick Keighley

And let's not forget the convenient monthly payments these corporations
expect the general public to pay for the privilege of doing less than what
we have been doing easily for years, if not decades.

and lets not forget that network connections aren't always there and
when they are they can be woefully slow
 
E

Ebenezer

and lets not forget that network connections aren't always there

Don't forget that free is a nice price. With some of these
applications you can get a private copy, but the cost of
owning a copy is increasing.
 
S

seasoned_geek

I think you haven't got the point. Signal/slots are just one small
aspect of QT, namely it's event loop. Let's take another real issue as
an example. Suppose you develop on OSX using QT and use QSound to play
an audio file. According tohttp://developer.qt.nokia.com/doc/qt-4.8/QSound.html
QSound on OSX uses NSSound/Quicktime to play the file. This means it
will happily accept any MP3/AAC you through at it. The first time you
run this on Windows or X11 (aka Linux), the app will fail to play the
sound because only the WAVE file format is supported. This issue is
detected at runtime, not by the compiler. Now, how on earth do
signals/slots help here???
Signals & Slots are a major factor in portability. Your example shows
just how little you understand them and business development in
general. QSound::play() is a slot. If you don't like the default
sound engine on your platform you can create a new slot to catch the
signal using any other sound engine you want.

Erm, it's not about *using* the touch screen as an input device, it's
about *producing* a usable interface. The biggest input difference is,
that hovering over UI elements is impossible with a touch screen.

Really???? Your touch screen doesn't follow a light finger and when
it stops interpret that as hover?
You are talking about the speed of the human sitting in front of the
machine. Most of the time, a computer running a GUI application is idle.

Most of the time a GUI is the last thing you want and a mouse is
definitely the last thing which should be designed in.
I was talking about compiler/interpreter speed. To have a fluid GUI, all
you need is a reaction within ~20 ms. This is approximately the time
delay humans can percieve, e.g. when trying to play music with each
other any larger delay is unacceptable. Much of the GUI code, i.e.
checking entries for validity, disabling/enabling fields, runs in
microseconds on todays hardware, so the difference between 1 microsecond
and 10 microseconds simply doesn't matter. It only matters if it is
1000x 10 microseconds.

The difference between 1 microsecond and 10 is the difference between
making $8million and losing $12million on an MKT order.
You are right, I've never written stock trading applications. But I'd
guess the (computer) speed there is uch more limited by the database
servers and network connections than by the CPU. Otherwise, you would
use Fortran, SIMD extensions or GPU acceleration, and not C++ (which is
called "slow" by HPC people)

Quite the contrary, we moved from VAX BASIC to C++. Trades are never
ever limited by database speeds at any stock exchange which will be in
business 6 months from now. ALL open orders, quotes, and last sales
are live in RAM. Trades are only written to a database AFTER
execution and "print to tape." That last is a trade term for a remote
electronic transaction being sent to the central reporting agency for
inclusion in consolidated last sale.
Thank you for your opinion. To me, the article tells "QT is heaven and
has NO portability issues, because it uses signals/slots!" - this is
simply technically wrong. QT is good, signals/slots are also good, but
neither can cover everything you need on any platform (including mobile
devices) without portability issues.

Unlike Java and all other predecessors, Qt has eliminated all
portability issues for business applications. While some people may
be interested in watching videos and playing music, those are not the
applications which will be written by any of the Fortune 1000 for use
by their employees.
 
S

seasoned_geek

What do you mean by that?

Rui Maciel

I will hazard a guess that he meant if a corporation moves to a nasty
cloud they can eliminate all of the jobs which came with supporting
both applications and hardware in-house along with all obligations of
Freedom of Information Act or SOX inquiry requests since the company
hosting the cloud will be required to do all of that.

At least I sincerely hope he wasn't trying to tell use that God awful-
crash-every-other-minute Google Docs has more functionality than
OpenOffice, LibreOffice, or IBM Lotus Symphony. That is simply not
the case.

Then again, I never considered letting two people edit the same
document at the same time a good thing. Especially in an environment
where one could disable seeing remote updates...say...while editing a
contract with the other party looking over your shoulder only to have
someone else making a completely different version and playing games
with time of save so the one the "client" (about to be known as
screwee) signs without a final reading a contract which hangs them out
to dry.
 
E

Ebenezer

What do you mean by that?

Unfortunately most large companies and governments today
are corrupt. For many decades my country, the US, had
fairly honest leaders but not any longer. Russia, China,
Iran, Syria, Greece ... I could go down a long list of
corrupt places. In order to survive against the bigger
companies, you need a good business model; otherwise
they'll abuse you.

An article in the Wall Street Journal a few months ago
talked about how there are as many PCs in China as the
US, but Microsoft makes 5% as much in China as in the
US on MS Office due to stealing. On line services
help address the intellectual property/stealing problem.


Brian
http://webEbenezer.net
 
R

Rui Maciel

seasoned_geek said:
Signals & Slots are a major factor in portability. Your example shows
just how little you understand them and business development in
general.

Why do you believe Qt's implementation of the observer pattern, which they
refer as "signals and slots", is "a major factor in portability"?

The difference between 1 microsecond and 10 is the difference between
making $8million and losing $12million on an MKT order.

If that is the case then maybe Qt is not the best option at all. Their
implementation of the observer pattern doesn't rely on pure callback
functions, such as the ones implemented in libsigc++. Therefore its
performance is notoriously lacking, to the point they even try to downplay
that in Qt's marketing. See "calling performance is not everything" in:

http://developer.qt.nokia.com/doc/qt-4.8/templates.html

Unlike Java and all other predecessors, Qt has eliminated all
portability issues for business applications.

This is simply wrong. To start off, by "platform-independent", in this
context, it can only mean a program that may be successfully compiled for
more than one platform, which hardly means that there is any independence.

With that in mind, to be able to develop platform-independent software with
Qt, the developers must take very close attention to how they write their
code, which library they rely on, how they use that library, etc.. A
programmer cannot simply make a call to a library which isn't omnipresent,
and Qt simply does not cover every aspect of computing.

And to claim that Java has somehow more portability issues than C++ software
relying on Qt, you surely don't know what Java is, nor do you know what
developing software with C++ using Qt.

It appears you are trying to pull the wool over this newsgroup's eyes, and
the way you are trying to achieve that is based on the idea that everyone
here is nieve, gullible and never used C++, Qt or Java at all. I don't know
if you are clueless or a marketing shill, but either way your shoving a
heavy load of nonsense.


Rui Maciel
 
S

seasoned_geek

That again was not the point - of course I can add another sound engine
(platform dependent!) and call it, when the signal (lets say button
press) is emited. For this example, it doesn't matter whether you
connect() them, use virtual functions by deriving from a common
soundclass, or simply #ifdef it. The only advantage of signals (be it
QT, boost::signal or libsigc++) is that you can connect them at runtime.
This does NOT resolve the portability issue. The issue is, that you can
compile and link your application, but it fails at runtime, only if
executed on another platform. If you are not aware of the issue, and
fail to test for it, your customers will complain.

1) A business application isn't going to be developed for MAC first,
period. A business application isn't going to let a "user" choose an
MP3 or other file. A business application is going to include its own
sound files and no matter what form they originated in, is going to
convert it to WAV and be done. Even a cell phone provider is going to
try to lock customers into ringtones they sell.

2) Before signals and slots you had no method what-so-ever of hacking
in support for other devices without completely redeveloping the event
handler from scratch. Period. It was a massive undertaking. Been
there, done that, even wrote a book on it. Post signals and slots you
have a convenient method of adding support for anything.

3) A business developer is going to have 100% portability because
they are going to design the application to allow in ONLY those files
supported on all targets.

Qt has only had a couple of years on the hand held platform, Nokia and
the OpenSource community will shake out the last of any minor issues
in a short period of time. From a business application perspective,
100% of the portability issues are gone. It's an astounding feet
especially for applications which must create and remember file
locations.
C:\MyApp\DATA
/home/fred/MyApp/data
DISK$USER1:[FRED.MYAPP.DATA]
etc.
Qt completely hides this from the application. I have been doing
cross platform development since the late 1980s and have encountered
NO cross platform library or language which could completely hide such
information while removing hundreds of other platform specific
oddities.

"apps" for smartphones have really only been around for a couple of
years. Yes, there were various forms and flavors of smartphones for
years, but they didn't really take off until recently...mostly with
iPhone. I fully expect Qt5 to remove the last little bit of
portability issues there...but I don't expect "apps" to last. More
accurately, I don't expect users to throw good money at a 4" screen
much longer. Either these screens which can coil up will become more
reliable or people will deal with a blue-tooth headset and a tablet
computer which hides their phone. Most Web sites aren't setup to
display on 4" screens and most will never be modified to support that
user.

Keep these things in mind.

5 1/4" floppies used to rule the land.
People used to be happy with a 15" VGA monitor.

Personally I'm not so certain the "smartphone" isn't a multi-year fad
like the PDA.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
474,444
Messages
2,571,709
Members
48,796
Latest member
Greg L.
Top