Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 8 years ago.
Improve this question
I know this seems like a simply question, but I'm rather curious.
Are all Mac Programs built in Objective C? Throughout my whole college experience, we have constantly been building throw away programs, ones that we simply run on a linux based command line or in an IDE like Netbeans. To be honest, I'm seriously sick and tired of it. I'm interested in building something real and meaningful, something that perhaps has a GUI or whatnot. Something that would work on any Apple OSX. Can someone give me a push in the right direction, any sources?
Thanks
Not all, but the vast majority. There are also some written in Java (like Netbeans itself), some written in C++ with Qt (like Google Earth), and so on. ObjC is definitely the most common though, and the one the OS's APIs are designed for.
Nope, but most good apps have at least the UI written in Objective-C...
there is a lot of history, in the original OS (classic) everything was written and documented in Pascal, then it migrated with the same API's to C++, then when OSX came along it made the old API's into something called Carbon, the new stuff was cocoa, and there was also a 1:1 Java mapping for most of the objects... also the os x introduced all of the Unix goodness, which gave you things like GTK, qt, and other X11 stuff....
now apple has killed most of carbon and the java bridge (you still have native java, like swing)
so you really mostly have objective-C for the UI, for the model layer and guts you can use pretty much whatever you want.
I guess if you want to upload your app to the App Store it will have to be in Objective-C.
Related
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 8 years ago.
Improve this question
I want to learn UI programming, you know like windows applications such as chrome, firefox and many others, and i already know C.
So what language should i learn next?
What you are looking for is a GUI toolkit, not a new language. If you want to stick with C, GTK+ is a decent library and works on Windows, Linux and OS X. If you want to move to C++, Qt does everything you could ask for (and also runs on Windows, Linux and OS X). If you want to stick with only Windows, I suggest using something like C# because it is incredibly easy to develop WinForm applications. If you want to stick with only OS X, learn Objective-C and use Xcode to build GUI applications quickly.
There are a multitude of answers to this question. Search the web for "GUI library" or "GUI toolkit" and you will find existing threads on SO that explain the differences in libraries.
If you have a C background and want to build Windows applications, then you would probably benefit from developing in C++ or C#.
C++ has the advantage of being somewhat platform-independent, in that you could then also program for linux/mac.
C# is also useful if you ever want to do a lot of web programming.
Both languages have huge support communities online.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 8 years ago.
Improve this question
I have seen a few programs that use simple GUI-like interfaces made out of text. A good example would be links (see screenshots below).
Are there any C libraries for creating this sort of thing out there? I would ideally like mouse support but that is not strictly necessary. Cross-platform is good but I really only need it for *nix-like systems (including mac). I don't have a great deal of experience with C but I know my way around it, coming from C++.
If libraries aren't available, how would one go about coding this kind of thing from scratch?
Screenshots of the kind of thing I want:
EDIT: Yes, I know about curses/ncurses, but does anyone know of any good tutorials to make this kind of program with it?
You could have a look at CDK--
project home page.
This is a set of widgets for Menus, pulldowns etc. wrapped around the basic ncurses library so your coding is at a much higher level and a lot of the intricacies and gotchas of ncurses are already dealt with.
Try ncurses - this is a library which with you may create such GUI environments under console.
The best tutorial I know for curses is Using C With Curses, Lex, and Yacc: Building a Window Shell for Unix System V, by Axel-Tobias Schreiner
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
I have looked around for good SSL/TLS libraries that support TLS 1.2
I also want to use this library on an embedded platform so it should be small, easy, secure and free. It should be a c/c++ library.
So far i have come across Cyassl, Polarssl Matrixssl a lot so i think that one of these should be a good choice (Openssl is way too big).
Now i would like to know why people use one over the other.
Thanks
Ok.. Just for starters they all do the same. All three can run on embedded platforms. The difference is where their focus is.
From my personal experience:
PolarSSL has loads of documentation, an understandable API, examples, and gives you the ability to actually delve into the code and understand what is happening. In my experience this is a great plus in case you need to debug a specific issue. They only provide Makefile / CMake / MSVC project files, so the task to include it in your embedded environment is yours.
Cyassl's code is harder to understand and tweak. But they have more pre-made Makefiles for specific development platforms. Depending on your environment this might weigh in (for me it rarely does). In a number of comparisons I did as a subcontractor, they are pricier than PolarSSL though.
Pick MatrixSSL if you don't have budget constraints ;) Definitely the priciest of all and I found no specific reasons to actually use it though in comparison to the alternatives..
With the whole NSA / PRISM thing around: If you want something specifically built in the US, then Cyassl is the best choice. If you want something non-US, PolarSSL is the only sane choice.
So if by free you mean: I'm going to use it in an Open Source project, then price does not matter. The verdict from the community: PolarSSL has good adoption in OpenVPN, Cyassl in MySQL.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
What small open source projects in C are interesting for learning good design?
The project should be:
Not too large (like the linux kernel)
Well documented
Perhaps still under active development
I've just started learning C, and while the language itself is not too difficult, i'm struggling how to design larger applications, so i thought checking out other open source projects would be a good starting point.
Thanks!
Redis (nosql db) is:
under active development
a manageable size
portable and robust
has no external dependancies
very well written, understandable code
In my opinion, good examples of moderately sized projects written in C are:
GNU Scientific Library (besides the source code, don't miss their design document)
Kazlib
Git
Posix threads are a perfect example of good C design
I like gnucash: http://www.gnucash.org/
No too large like Linux kernel, but still big I think.
You can start learning from small and well structured applications like http://abygaelle.guillaume-fr.net/trac/gemmes
It all depends what kind of projects you are interested in. And what aspect of it (specific algorithms, UI, networking, etc, etc...)
Head over to freshmeat, sourceforge or ohloh and browse the projects for your area of interest.
Alternatively if you want to look at projects that were chosen for a particular reason google summer of code might be interesting for you - even though these rarely include full projects.
EDIT:
Also alternatively, you might take something like linux kernel, but instead of trying to understand everything try to
get the big picture
then concentrate on one tiny piece of it and inspect how the code changed over time (and for what reasons - it should be quite well documented)
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
Is there any tutorial about using debuggers, when doing C programming on Linux (console mode)?
GDB tutorial.
if you want a GUI then try Nemiver it's very nice GUI for GDB
oops !!! sorry i didn't see you have mentioned console mode.
Anyway try GDB.
from console type:
info gdb
will give you more about gdb
Do you have a particular debugger in mind, or are you just looking for a general introduction to debuggers?
For Linux debugging, Checkers is almost certainly right, you will be using GDB, and that is a good tutorial (but dont let it stop you from googling ;-) http://www.google.com.sg/search?hl=en&source=hp&q=gdb+tutorial
I don't know how you are developing your code, but I would highly recommend using the Eclipse IDE *use CDT plugin, since you are developing C) - http://www.eclipse.org/cdt/
Eclipse is an excellent free IDE and is practically a de facto standard among professionals. You can edit your code and also step through through it in the debugger Eclipse, but Eclipse also supports many, many other plugins which will be of great use to you:
DoxyGen for documenting your code, Splint for static code analysis, catching problems which the compiler does not, CppUnit for automated testing, BugZilla (etc) for problem reporting, CVS, Subversion, etc, for version control ... you get the picture.
Since we are talking of debuggers, I admit that I can't yet get Eclipse to support DDD, and if you don't know why you want DDD, a picture is worth a thousand words .. http://www.gnu.org/software/ddd/all.png
See that lovely picture in the top pane? If you use pointers and linked structures, then DDD is indispensable, IMO.
Don't forget that arguably the best debugging is not done in the debugger, but in code review, static code analysis (http://www.splint.org/ http://sourceforge.net/apps/mediawiki/cppcheck/index.php?title=Main_Page), etc