programming

VIArtsVIArts Posts: 1,526

Not 3D related but thought I'd ask hereb if anyone could help me learn C++? I  wanna create a simple timesheet generating app with a gui for the company i work for.

 

As simple as "Go get the date and start/end time and record it o a spreadsheet".

 

any programming forum suggestions are welcome too

Comments

  • nicsttnicstt Posts: 11,715
    edited January 2020

    Why do you want to use c++ to create an app?

    You could use the MVC framework, using C# or basic, or a Java based one.

    Need more information. C++ wouldn't definitely not be my first choice, especially as you use the term, 'simple'. This actually sounds like a project for Uni. :)

    When you're creating a project, the choice of language is based on experience, what you're used to - or it's based on what's required for the app. It can also be based on what the company uses as their language of choice, but that also then relates to: 'what you're used to'.

    Post edited by nicstt on
  • VIArtsVIArts Posts: 1,526
    nicstt said:

    Why do you want to use c++ to create an app?

    You could use the MVC framework, using C# or basic, or a Java based one.

    Need more information. C++ wouldn't definitely not be my first choice, especially as you use the term, 'simple'. This actually sounds like a project for Uni. :)

    When you're creating a project, the choice of language is based on experience, what you're used to - or it's based on what's required for the app. It can also be based on what the company uses as their language of choice, but that also then relates to: 'what you're used to'.

    C++  isn't a requirement. I have more experience with it, which isn't much, but I'm opd n to learning to use any language. I'm just ignorant and new.

     

    My idea is:

    When you check in to work, ou pe my app -- I'll cal it Boost Time -- and hit a "check in" button. This adds a row ike in Excel ad automatically records date and time

    When you hit  a "check out" button,  auto-recods time and adds up your hours.

    At the end of month, you hit a buton to generate n Excel fle o save and turn n.

  • nonesuch00nonesuch00 Posts: 18,774
    edited January 2020
    MAJourney said:
    nicstt said:

    Why do you want to use c++ to create an app?

    You could use the MVC framework, using C# or basic, or a Java based one.

    Need more information. C++ wouldn't definitely not be my first choice, especially as you use the term, 'simple'. This actually sounds like a project for Uni. :)

    When you're creating a project, the choice of language is based on experience, what you're used to - or it's based on what's required for the app. It can also be based on what the company uses as their language of choice, but that also then relates to: 'what you're used to'.

    C++  isn't a requirement. I have more experience with it, which isn't much, but I'm opd n to learning to use any language. I'm just ignorant and new.

     

    My idea is:

    When you check in to work, ou pe my app -- I'll cal it Boost Time -- and hit a "check in" button. This adds a row ike in Excel ad automatically records date and time

    When you hit  a "check out" button,  auto-recods time and adds up your hours.

    At the end of month, you hit a buton to generate n Excel fle o save and turn n.

    You'll need to buy a book to learn development at the very least:

    https://smile.amazon.com/gp/product/0985580135/

    It's C# and pretty good. As a bonus C# is what Unity uses.

    Use a C++ book by Stroustrup if you want to program in UE4.

    https://smile.amazon.com/gp/product/0321563840/

    For writing general Windows 10 programs not involving game engines at all you will want to use C#.and you will want to use the Windows Universal SDK that creates Apps that you could publish to the Windows Store (were it accepted). 

    Post edited by nonesuch00 on
  • TaozTaoz Posts: 10,281
    edited January 2020

    I'll also recommend C#, and Visual Studio - you won't get a better programming tool and the Community version is free.  You can get all versions from 2010 to 2019 here:

    https://visualstudio.microsoft.com/vs/older-downloads/

    There's also a free course here, that covers both Visual Studio 2015, 2017 and 2019 (their interfaces are a bit different):

    https://www.homeandlearn.co.uk/csharp/csharp.html

    There is also Udemy's video courses, currently they're on sale for $9.99:

    https://www.udemy.com/courses/search/?src=ukw&q=c%23

    Post edited by Taoz on
  • nicsttnicstt Posts: 11,715

    Sounds like an app; and you wouldn't let it anywhere near a spreadsheet. If required it would export in a format a spreadsheet could open

    You'd want a database table, well more than one.

    it would tie to users, job type, days - with a log in and out, and many others.

    Have you looked at existing software? Harvest might be worth checking out.

    https://www.getharvest.com/

    Can I link it?

  • nicsttnicstt Posts: 11,715

    Before you even consider what language to write it in, you need to map out the requirements; I'd also create a mockup, either pencil and paper, or something like Axure (version 9 iirc) - and likely both.

    When you have the mockup, show it to the users, and obviously those providing the specs/requirements. Spend some time discussing requirements and expectations - time spend prior to coding is invaluable, it saves time and money in the not-so-long-run.

    Avoid as much as possible scope creep; you're not going to avoid it completely, but lock down features to specific timeframes.

  • 3dOutlaw3dOutlaw Posts: 2,481
    Taoz said:

    I'll also recommend C#, and Visual Studio - you won't get a better programming tool and the Community version is free.  You can get all versions from 2010 to 2019 here:

    https://visualstudio.microsoft.com/vs/older-downloads/

    There's also a free course here, that covers both Visual Studio 2015, 2017 and 2019 (their interfaces are a bit different):

    https://www.homeandlearn.co.uk/csharp/csharp.html

    There is also Udemy's video courses, currently they're on sale for $9.99:

    https://www.udemy.com/courses/search/?src=ukw&q=c%23

    Yep, this.

  • TaozTaoz Posts: 10,281
    MAJourney said:
    nicstt said:

     

    At the end of month, you hit a buton to generate n Excel fle o save and turn n.

    You can save the data in a CSV file, it's probably the simplest way to get it into Excel.

     

  • A long time ago i wrote code in C++. You could do this with C++ and one of the MS frameworks but it would take a very long time (It would take me most of a day and I have over a decade of experience doing that sort of thing).

    In C# this is pretty trivial, you'd spend more time learning the language than writing the program probably.

  • I have, over about 20 years, taught myself C++ with a copy of Borland's C++ Builder 4 I got on the front of a magazine in 1999. It is a 'must have' program for me, and I upgraded to V10.1 in 2016. The latest incarnation is Embarcadero C++ Builder 10.3. However, much as I would like to, I cannot recommend it for your application. The license terms for the latest version preclude any use of the freebie compiler for a company with more than $5000 dollar turnover, and the basic paid for version is eyewateringly expensive for a hobby use. Otherwise, I'd have said that the libraries and functionality would be perfect for you, enabling compiling of pretty much the same code for Win32, Win64, IOS, Linux and Android, the whole building of a window is drag and drop, and event handlers can be created with a double click. The only downside for V10.1/10.3 is that the documentation is nowhere near as good as the 1999 version, and I often have to refer to the 1999 version to find info for my Win32 only 10.1 version libraries.

    For hobby use, V10.3 could well be worth investigating.

    Regards,

    Richard.

  • prixatprixat Posts: 1,617

    I'd second both the Visual Studio Community edition and 'Home and Learn' courses.

    Especially if you already have a grounding in C++ in the distant past.

    I have not got into the mobile app side of things but VS has the Xamarin framework for creating cross-platform apps. Has anyone got any experience of using Xamarin?

  • TaozTaoz Posts: 10,281
    edited January 2020
    prixat said:

    I have not got into the mobile app side of things but VS has the Xamarin framework for creating cross-platform apps. Has anyone got any experience of using Xamarin?

    I was playing with Xamarin a couple of years ago, it's great to work with but I lost interest more or less when I learned how complex it is to publish an iOS app.  Android and Windows Phone (which is dead now btw) apps are a piece of cake to publish but Apple wants to control everything in a way that I find discouraging.  Without an iPhone (which I actually had, got one a friend discarded) and a Mac (which I don't have) for testing, you won't get far anyway with iOS, in my experience.   But if you have a good idea for an app it may be worth investing in it.

    Udemy has some Xamarin courses btw, most of their courses are currently on sale for $9.99.  Just be sure to check when they were last updated, for Xamarin seems to change and deprecate things fast (at least it did when I was working with it).  

     

    Post edited by Taoz on
  • nonesuch00nonesuch00 Posts: 18,774

    For multi-platform apps the current ease of publishing and portability is Unity 2019.x (Android, iOS, osX, Apple TV, Windows 10, Windows Standalone and others - all no problem - but you need at least one OS HW platform available to test on if you are serious and for some (Apple - this is them) you need their HW and a $99 a year subscription to publish to their platforms into their stores - it adds up fast to be quite expensive for folk without a lot of disposable income!) with UE4 making headway fast to be competitive with Unity in that regard.

  • VIArtsVIArts Posts: 1,526

    I just installed VS Community.

     

    No one ased me to do this. I'm kinda doing it fer me riht now. But ift works out, i plan ro give it to my company for heir own use.

  • For multi-platform apps the current ease of publishing and portability is Unity 2019.x (Android, iOS, osX, Apple TV, Windows 10, Windows Standalone and others - all no problem - but you need at least one OS HW platform available to test on if you are serious and for some (Apple - this is them) you need their HW and a $99 a year subscription to publish to their platforms into their stores - it adds up fast to be quite expensive for folk without a lot of disposable income!) with UE4 making headway fast to be competitive with Unity in that regard.

    Maybe in the gaming world is Unity a common platform. It is not common in apps that aren't games. I guess you could do a UI using it but there are so many faster and better ways, Qt for instance.

    Basically if you don't need 3d you don't need Unity.

  • mwokeemwokee Posts: 1,275

    If you want to start simple, you can read/write to a text file. If the text file is delimited properly, you can open Excel and import the text file. Having your application read/write to Excel is going to be a little more advanced.

  • wizwiz Posts: 1,100

    C# is great for connecting components that others have developed into programs that run on Windows.

    C++ is great for connecting components that others have developed or developing your own and building programs that run on Windows, Linux, Mac, Arduino, Pi, etc.

    Choose wisely.

  • nonesuch00nonesuch00 Posts: 18,774

    For multi-platform apps the current ease of publishing and portability is Unity 2019.x (Android, iOS, osX, Apple TV, Windows 10, Windows Standalone and others - all no problem - but you need at least one OS HW platform available to test on if you are serious and for some (Apple - this is them) you need their HW and a $99 a year subscription to publish to their platforms into their stores - it adds up fast to be quite expensive for folk without a lot of disposable income!) with UE4 making headway fast to be competitive with Unity in that regard.

    Maybe in the gaming world is Unity a common platform. It is not common in apps that aren't games. I guess you could do a UI using it but there are so many faster and better ways, Qt for instance.

    Basically if you don't need 3d you don't need Unity.

    Not really. Unity is quite capable of UI & 2D functions. QT is just so-so and definitely not as portable.

  • C++ is not a good first language, but in my opinion, the Qt framework is best-of-breed. It delivers on the promise of compiling and running across Linux, Windows, and (admittedly no experience, but it is said) OSX. It has comprehensive utilities for all manner of things like threading and I/O. It is well thought out and properly object oriented. Slots/Signals was a brilliant idea. Documentation of all versions is excellent. There's a very powerful WYSIWYG GUI designer called... Designer... that makes it almost as easy as Visual Basic.

  • For multi-platform apps the current ease of publishing and portability is Unity 2019.x (Android, iOS, osX, Apple TV, Windows 10, Windows Standalone and others - all no problem - but you need at least one OS HW platform available to test on if you are serious and for some (Apple - this is them) you need their HW and a $99 a year subscription to publish to their platforms into their stores - it adds up fast to be quite expensive for folk without a lot of disposable income!) with UE4 making headway fast to be competitive with Unity in that regard.

    Maybe in the gaming world is Unity a common platform. It is not common in apps that aren't games. I guess you could do a UI using it but there are so many faster and better ways, Qt for instance.

    Basically if you don't need 3d you don't need Unity.

    Not really. Unity is quite capable of UI & 2D functions. QT is just so-so and definitely not as portable.

    What platforms won't Qt build for? Windows, Linux, Mac, iOS and Android seems pretty comprehensive. I think it even supports some of the IOT OS's.

    I'm sure you can make a UI in Unity but why would you add all that overhead to an app when you didn't have to?

  • C++ is not a good first language, but in my opinion, the Qt framework is best-of-breed. It delivers on the promise of compiling and running across Linux, Windows, and (admittedly no experience, but it is said) OSX. It has comprehensive utilities for all manner of things like threading and I/O. It is well thought out and properly object oriented. Slots/Signals was a brilliant idea. Documentation of all versions is excellent. There's a very powerful WYSIWYG GUI designer called... Designer... that makes it almost as easy as Visual Basic.

    My days as professional developer are in the past but I still write code from time to time and Qt is so much better than anything I've seen before. I just wish it used the STL more. I find it so very frustrating that all of these GUI frameworks start off by throwing away most of the C++ standard libraries.

  • C++ is not a good first language, but in my opinion, the Qt framework is best-of-breed. It delivers on the promise of compiling and running across Linux, Windows, and (admittedly no experience, but it is said) OSX. It has comprehensive utilities for all manner of things like threading and I/O. It is well thought out and properly object oriented. Slots/Signals was a brilliant idea. Documentation of all versions is excellent. There's a very powerful WYSIWYG GUI designer called... Designer... that makes it almost as easy as Visual Basic.

    My days as professional developer are in the past but I still write code from time to time and Qt is so much better than anything I've seen before. I just wish it used the STL more. I find it so very frustrating that all of these GUI frameworks start off by throwing away most of the C++ standard libraries.

    +1

    I was literally thinking that the day before yesterday, and not for the first time. I don't understand the motivation. Even the most obscure C++ compiler for some DO-178B hardened embedded platform only DoD uses is still going to have the STL...

  •  

    Not really. Unity is quite capable of UI & 2D functions. QT is just so-so and definitely not as portable.

    Qt not as portable? If there is something else that runs unmodified on Web Assembly, QNX, Integrity, and bare metal, in addition to Linux, Android, OSX, and Windows, I'd really like to evaluate it.

Sign In or Register to comment.