RE: cpp help!

  • From: "Joseph Lee" <joseph.lee22590@xxxxxxxxx>
  • To: <programmingblind@xxxxxxxxxxxxx>
  • Date: Thu, 26 Aug 2010 22:11:40 -0700

Hi,
I could - but I don't have the necessary program at the moment, and I need
to attend CS final tomorrow... The chief architect of the program we wish to
modernize is Dan Greene, author of EZ Money. Thanks for your offer.
Cheers,
Joseph


-----Original Message-----
From: programmingblind-bounce@xxxxxxxxxxxxx
[mailto:programmingblind-bounce@xxxxxxxxxxxxx] On Behalf Of Littlefield,
Tyler
Sent: Thursday, August 26, 2010 10:03 PM
To: programmingblind@xxxxxxxxxxxxx
Subject: Re: cpp help!

If you guys are working this through over a messenger... I could possibly 
help out. I'm dragging my bedtime out, but I have class late tomorrow, so 
it's not a huge issue. but I can def help over the weekend.

----- Original Message ----- 
From: "Joseph Lee" <joseph.lee22590@xxxxxxxxx>
To: <programmingblind@xxxxxxxxxxxxx>
Sent: Thursday, August 26, 2010 10:58 PM
Subject: RE: cpp help!


> Hi Alex,
> Good thing you are learning new stuff (so am I). Think of libraries as
> collection of tools that a programmer can use to ask the program to 
> perform
> certain tasks (at least that's how I'd phrase it).
> For Alex M: Could you help Alex H. learn few things in C++? And, if you 
> want
> to, please help us out (me and Alex) with a checkbook program emulator for
> keySoft and HIMS interface (if you are familiar with user interface and
> software architecture of BrailleNote and Braille sense family). We have 
> just
> started design specs by creating a simple check class (more details on 
> that
> later on a separate post). Thanks.
> Cheers,
> Joseph
>
> -----Original Message-----
> From: programmingblind-bounce@xxxxxxxxxxxxx
> [mailto:programmingblind-bounce@xxxxxxxxxxxxx] On Behalf Of Alex Midence
> Sent: Thursday, August 26, 2010 9:54 PM
> To: programmingblind@xxxxxxxxxxxxx
> Subject: Re: cpp help!
>
> Laura,
>
> Thank you for the examples.  Very interesting stuff.  It's slowly
> starting to come together in my head.  Also, your point about how the
> library and the language are two separate things to learn is wel
> taken.  I suppose it's a bit like learning a spoken language and then
> learning the local jargons of certain industries and the regional
> dialects for others.  I'm somehting of an amateur linguist.  I speak
> seven human languages and I can tell you that it's not unheard of for
> someone to study one in a textbook, think they have a nice foundation
> and then be suckerpunched by encountering a native speaker who speaks
> a non standard variant.  German is like that.  I'll never forget my
> first encounter with a Swiss German speaker.  We wound up speaking
> French after about two sentences.
>
> Thanks again,
>
> Tyler,
>
> What I was writing was pseudocode of a sort.  It was a demonstration
> of how I thought writing gui controls could be simplified and take
> fewer lines of code to write.  Sorry if I wasn't clear.  And no, I
> think I'll stay the course with c++.  I've never let any language
> scare me away so quickly.  I just wondered if all the work one so
> evidently has to put  into learning it well was a practical investment
> of time.  Yor ansers were succinct and to the point.  Thanks.
>
> Alex M
>
>
>
> On 8/26/10, qubit <lauraeaves@xxxxxxxxx> wrote:
>> Ty is right -- even the supposedly special syntax
>>   cout << data << endl;
>> is not part of the language, but the operator<< is overloaded for usage
> that
>> way in the iostream
>> library.
>> Learning the language is separate from learning the libraries you want to
>> use.
>> This is true in any OO language, including java, C#, python or whatever.
>>
>> For example, I am learning java right now, and java has 2 popular
> libraries
>> for handling its I/O -- one is SWING and the other SWT.  There are pros
> and
>> cons to both. But if you know one, it may still take you a little bit of 
>> a
>> learning curve to switch to the other.  It's just unavoidable.
>>
>> Back to C and C++, I have some handy analogies for understanding and 
>> using
>> pointers.
>>
>> First was one a professor related in a class I took ages ago -- suppose
> you
>> are on a treasure hunt and the map leads you to a box. The box could
> either
>> hold the goods you are seeking, or the location where to find the next
> clue.
>> If it is a location, you could say it points to a new destination.  So
> it's
>> a pointer.
>>
>> Second observation, in C and therefore C++, the syntax for a declaration
> of
>> a variable is designed to mimick what an expression would look like if 
>> you
>> wanted to access data through that variable.
>> Let me sho some examples:
>>
>> int i; // i contains the int
>> int *p;  // if you want the pointer int*, just say p, but if you want to
> get
>> to the int, just say *p, as suggested by the declaration.
>>
>> Now here's a trickier one:
>>
>> int *p[5];
>> int (*q)[5]);
>>
>> How would you use these in an expression?
>> If you want to get to an int in the array of pointers to int, the
> expression
>> for p would be
>> *p[3]
>> just like the declaration.
>> (Note: the array reference is evaluated before the * as it has higher
>> operator precedence.)
>>
>> But what about q? What is q? Well, answer that by writing expressions 
>> that
>> access q:
>> q // points to something
>> *q according to the declaration, is an array
>> *q[3] is an error because it treats q as an array when it is just a
> pointer
>> to an array.
>> (*q)[3] eureka! you have the int
>>
>> Pointers and other low level constructs are important in C because C was
>> originally developed as a semi-high level language for writing operating
>> systems, and therefore the programmer needed to have access as close as
>> possible to the hardware while still remaining portable.
>>
>> C++ inherited a lot of the low level stuff, and kept it in the language
> for
>> backward compatibility, which was as much a business consideration as a
>> technical one -- C programs had to compile with the C++ compiler with 
>> only
>> minor changes, or else people might not use it.
>> So that's why we have the mess we all know and love *smile*
>>
>> The learning curve for C# and VB I believe is a little easier because of
> the
>> IDE which has templates of common code configurations built into the
> editor
>> that you can pull down.
>>
>> Haappy hacking.
>> --le
>>
>> ----- Original Message -----
>> From: "Littlefield, Tyler" <tyler@xxxxxxxxxxxxx>
>> To: <programmingblind@xxxxxxxxxxxxx>
>> Sent: Thursday, August 26, 2010 7:43 PM
>> Subject: Re: cpp help!
>>
>>
>> The C++ specification, or C++ in itself, is platform independent. The STL
>> and CRT are implemented BY THE compiler your using, for each platform.
> Each
>> call is set so that code can be portable, but the code between windows 
>> and
>> Linux, gcc and visual studio for the CRT and STL isn't the same. The
> library
>> just makes system calls, which are implimented by the platform itself.
>>
>> C++ being independent, and with the CRT and STL not technically being 
>> part
>> of the C++ language, it would make no sense to provide a GUI library.
>>
>> So I guess I'm confused as to what your wanting. C++ -is- not geared only
>> toward console applications. As I said, it is a low-level language. The
>> usage of libraries is what makes it powerful. If using libraries and
> reading
>> documentation is a problem for you, I suggest you find something 
>> else--the
>> info gathered from what you've learned about c++ minus the asumptions 
>> will
>> help you.
>>
>> As the CRT and STL are just their own libraries (which are written per
>> compiler), I don't see the issue with using a GUI library as well.
>> Technically, your making library calls when you do printf, cout, etc etc.
>>
>> And... what's this?
>> "dlg <preferences>" I'm not quite sure where that fits into the c++
> language
>> at all...
>> It's almost like your trying to make c++ be more than it is. C++ is just
> the
>> language; the libraries are what exposes the functionality that your 
>> using
>> even now.
>>
>> Thanks,
>> Ty
>> ----- Original Message -----
>> From: "Alex Midence" <alex.midence@xxxxxxxxx>
>> To: <programmingblind@xxxxxxxxxxxxx>
>> Sent: Thursday, August 26, 2010 5:54 PM
>> Subject: Re: cpp help!
>>
>>
>>> Hello,
>>>
>>> I think you need to reread my message, Tyler. I never said I thought
>>> pointers were useless.  I said I personally couldn't imagine myself
>>> ever needing them.  I then proceeded to list instances where I thought
>>> someone else might use them.  Another poster who happens to share my
>>> name said he saw them and understood why other languages dispensed
>>> with them which is where I think you were thrown off.  Secondly, other
>>> languages seem to allow the user to learn how to write gui
>>> applications at a much earlier stage in the learning process than c++
>>> does.  I do realize it is a low level language.  My point was why
>>> doesn't it include some of the gui-producing libraries in its standard
>>> library?  Why can there not be an incorporation of all the gui
>>> toolkits out there into the standard library along with some sort of
>>> way to create them using a built-in type or even a type specified in
>>> the library as is the case with string.  This is a clumsy example but:
>>>
>>> cout << "This is a message.";
>>>
>>> could have something like this analogous to it:
>>>
>>>
>>> msg_box << "This is a message.";
>>>
>>> Or, another thing:
>>>
>>> dlg <preferences>
>>> {
>>> chgx background;
>>> chbx font;
>>> chbx icons;
>>> btn ok;
>>> btn cancel;
>>> ... definitions and manipulations could then follow
>>> }
>>>
>>>
>>> Windows and controls would have a default set of specifications that
>>> set the window size, its placement on the screen, and a generic
>>> foreground and background which could perhaps be changed by the
>>> developer with parameters.
>>>
>>> The way it's set up now, you have to use nonstandard libraries which
>>> are, in fact, written in c or some other language like that to make a
>>> gui program.  If you use the pure standard library form of c++, you
>>> can make some nice utilities it seems along with all sorts of console
>>> applications that most people do not want to use.  I'm sure there are
>>> ways to make graphics with it but, I only keep  finding references to
>>> them in game programming.  I am not interested in writing games
>>> text-based or otherwise.  I want to work with business applications.
>>> Hence my question, did I choose the wrong language?  Have I wasted my
>>> time?  Is this a language that is actually going to become obscelete
>>> in a few years because the core of the language seems so heavily
>>> geared towards console applications in a world where gui is what most
>>> end users want.
>>>
>>> Alex M
>>>
>>> On 8/26/10, Littlefield, Tyler <tyler@xxxxxxxxxxxxx> wrote:
>>>> Um, they're not murder, and the fact that you haven't found a use for
>>>> pointers doesn't make them useless. They can be very powerful.
>>>>
>>>> Second, you want to run before you've learned to crawl. C++ -is-,
>>>> amazingly
>>>> enough a low-level language.
>>>> Yes, this does mean more code, but it's not all that much once you get
>>>> down
>>>> to learning what it does.
>>>> No, you will not find a tutorial that teaches you to write a hello 
>>>> world
>>>> program in a GUI and be able to learn c++ while you also learn gui
>>>> programming--it just won't happen. There may be something, but the fact
>>>> is,
>>>> you need to understand the language before you start using libraries
> such
>>>> as
>>>> the windows API.
>>>>
>>>> ----- Original Message -----
>>>> From: "Alex Midence" <alex.midence@xxxxxxxxx>
>>>> To: <programmingblind@xxxxxxxxxxxxx>
>>>> Sent: Thursday, August 26, 2010 3:50 PM
>>>> Subject: Re: cpp help!
>>>>
>>>>
>>>>> Hi,
>>>>>
>>>>> They're murder!  I can't imagine when I'd want to use one in an
>>>>> application short of some cellphone app for antiquated models.
>>>>> Pointers are a bit scary.  What really gets me about c++ is what a
>>>>> pain it is to write a gui application in it.  It is an undeniable fact
>>>>> that most people want to use gui applications whether it's for
>>>>> windows, gnome, or Mac.  Console applications make your average end
>>>>> user flinch away in horror.  Why then, isn't there a standard library
>>>>> component that quickly and efficiently addresses writing gui
>>>>> applications in c++ without requiring about 70 or 80 lines of code for
>>>>> a Hello World application that takes like 10 lines to write in console
>>>>> form?  I don't buy the whole platform constraint argument.  I can see
>>>>> that for the windows api but qt, gtk+ and wx widgets are all touted as
>>>>> cross-platform gui libraries that make your application portable and
>>>>> keep much of the same look and feel regardless of where they are
>>>>> deployed.  Instead you have to spend lots and lots of time slogging
>>>>> your way through tutorials that teach you pages and pages of code
>>>>> using things like iostream, cmath, fstream, string, conio, and cstdlib
>>>>> instead of oh,  I don't know, windows.h, wxsetup.h, and so forth which
>>>>> appear to be the sorts of things you need to make a real application
>>>>> somebody might actually want to use some day.  Just got through
>>>>> reading a book by Herb Schildt last night.  Has 12 chapters of this
>>>>> sort of thing.  He's got another that has even more chapters about it.
>>>>> It takes some serious digging to find a c++ manual that teaches you
>>>>> how to write gui apps and most of them are written by volunteers and
>>>>> are consequentially sketchy, and at times poorly written.  Before bed,
>>>>> I then opened up a Teach Yourself Java in 24 hours and there's a gui
>>>>> app close to the middle of the book using swing for me to write which
>>>>> I will probably be able to do saturday.  Can anyone shed some light on
>>>>> the madness?  Did I choose a language that is over the hill?  Have the
>>>>> past months I've spent on c++ been a total waste?
>>>>>
>>>>> Alex M
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On 8/26/10, Alex Hall <mehgcap@xxxxxxxxx> wrote:
>>>>>> Thanks. There is a good tutorial there... I can see why pointers have
>>>>>> been left behind in newer languages!
>>>>>>
>>>>>> On 8/26/10, qubit <lauraeaves@xxxxxxxxx> wrote:
>>>>>>> www.cplusplus.com is good
>>>>>>> ----- Original Message -----
>>>>>>> From: "Alex Hall" <mehgcap@xxxxxxxxx>
>>>>>>> To: "programmingblind" <programmingblind@xxxxxxxxxxxxx>
>>>>>>> Sent: Thursday, August 26, 2010 12:39 PM
>>>>>>> Subject: cpp help!
>>>>>>>
>>>>>>>
>>>>>>> Hi all,
>>>>>>> I am working with a few other people on a project. I am the only one
>>>>>>> that speaks Python and Java, not cpp. We hope to package this as an
>>>>>>> executable, so cpp makes the most sense, plus some source code we
> hope
>>>>>>> to use as part of the project is written in c already. Does anyone
>>>>>>> know of any tutorials for cpp, mainly about classes, objects,
>>>>>>> subclassing, file streams, and other semi-advanced topics? I know 
>>>>>>> how
>>>>>>> to do the basics, like conditionals or functions, but that is it.
>>>>>>> Again, I was taught Java through my first two years of college, then
> I
>>>>>>> found, and fell in love with, Python and have used that as my 
>>>>>>> primary
>>>>>>> language since January.
>>>>>>>
>>>>>>> --
>>>>>>> Have a great day,
>>>>>>> Alex (msg sent from GMail website)
>>>>>>> mehgcap@xxxxxxxxx; http://www.facebook.com/mehgcap
>>>>>>> __________
>>>>>>> View the list's information and change your settings at
>>>>>>> //www.freelists.org/list/programmingblind
>>>>>>>
>>>>>>> __________
>>>>>>> View the list's information and change your settings at
>>>>>>> //www.freelists.org/list/programmingblind
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Have a great day,
>>>>>> Alex (msg sent from GMail website)
>>>>>> mehgcap@xxxxxxxxx; http://www.facebook.com/mehgcap
>>>>>> __________
>>>>>> View the list's information and change your settings at
>>>>>> //www.freelists.org/list/programmingblind
>>>>>>
>>>>>>
>>>>> __________
>>>>> View the list's information and change your settings at
>>>>> //www.freelists.org/list/programmingblind
>>>>>
>>>>
>>>> __________
>>>> View the list's information and change your settings at
>>>> //www.freelists.org/list/programmingblind
>>>>
>>>>
>>> __________
>>> View the list's information and change your settings at
>>> //www.freelists.org/list/programmingblind
>>>
>>
>> __________
>> View the list's information and change your settings at
>> //www.freelists.org/list/programmingblind
>>
>> __________
>> View the list's information and change your settings at
>> //www.freelists.org/list/programmingblind
>>
>>
> __________
> View the list's information and change your settings at
> //www.freelists.org/list/programmingblind
>
> __________
> View the list's information and change your settings at
> //www.freelists.org/list/programmingblind
> 

__________
View the list's information and change your settings at 
//www.freelists.org/list/programmingblind


__________
View the list's information and change your settings at 
//www.freelists.org/list/programmingblind

Other related posts: