Thursday, 13 February 2014

23 Tips And Tricks For C Programmers

C programming, C tips and tricks, tips and tricks on C, programming tips, programming tricks, programming tips and tricks, C tricks, C tips, learn C, learn programming The minimalistic C Programming language is considered by many to be 'the' programming language. Although it is old and newer and more powerful languages have arrived, C remains an important part of a programmer's arsenal. It allows the programmer to read and write code for a large number of platforms and everything from microcontrollers to the most advanced scientific systems can be written in C, and many modern operating systems are written in C.

Here are a few tips and tricks for the C Programming language that you may use.


General

1. Timer - When you need to display the time for how long a piece of code took to execute.

2. Comment out blocks of code - This is used to tell why a piece of code is not being used anymore.

3. Macro Tips - Watch out for these things when you’re using Macros.

4. Factorial - Use NOT to calculate factorials.

5. Powx - This is the quick exponentiation function.

6. Saturated Addition - Use this for when you’re adding numbers but want to make sure that the total doesn’t overflow.

7. FNV Hash - Use this when you need to hash large amounts of data.

8. Seeding rand() - Seeding random number generators for returning different values everytime.

String Handling

1. Check if two strings are equal - Checking whether strings are equal or not.

2. Stringise Preprocessor Arguments - Insert an arguments to a macro within a string.

3. Text Editing - It is better to use a text editor from the environment that writing one of your own.

4. Display Time - Use this to display time in a easier format than displaying huge number of seconds.

5. Temporary Return Buffer - Return char* without any leaks.

Data Structures

1. Intro to bitwise operations - Learn how to use bitwise operations.

2. Count Bits - Find the number of bits that have been sent in an unsigned int.

3. Binary Constants - These are macros that allow you to use binary constants directly in your code.

4. Digit Mask - Use this macro in order to pull out one digit from a particular number.

5. Bit Manipulation - This will be used in order to test, flip and set individual bits.

6. Coordinate compression - You can turn multidimensional array units into one int using this.

Debugging

1. Debug Messages - The pre-processor can be used in order to compile in debugging messages.

2.Assert - Assert is a standard library function. This function tells you in which line of which file it failed at. The value passed to assert needs to be zero for this though.

3. #error - Want to create your own compile errors? This is how.

4. GDB - This is an introduction to using the GNU debugger.



Author : Shivam Kotwalia, CodeKill

Monday, 10 February 2014

Top 10 Best C/C++ Compilers And IDEs

New programmers find it difficult in selecting c/c++ compiler or ide which provides them a user friendly programming environment. So EFYTimes.com offers top 10 C/C++ Compiler And IDEs list along with their features.  
Programming language, C, C++, Compilers, Top 10 Best C/C++ Compilers, open source ide, NetBeans, Code, Digital Mars, C Free, CodeLite
Programming languages are crucial in today’s computing environment. There were many programming languages that surfaced from the first generation of PCs. However, majority of them cannot adequately bear the load of today's computing environment. But there are others that kept themselves out from the crowd.

C and C++ are the ones that every new programmer should know as these languages provide the foundation for other programming languages. Other than this, these programming language are extensively used even by the talented programmers to interact with hardware.
1) Eclipse: Eclipse Ide refers to an open source utility that offers some advance functionality for C/C++ programmers. It has some impressive features such as syntax highlighting, debugger and auto code completion. Eclipse ide is supported on Windows, Linux and Mac OS X. Eclipse ide makes coding simpler for new programmers. You need Java Run time environment to compile your C/C++ Programs on your PC.
Download Link

2) NetBeans: NetBeans is another advance open source ide with features such as semantic highlighting, automatic formatting braces matching, unit testing, code assistance and much more.
Download Link

3)Code::Blocks: Code::blocks refers to an open source, cross platform and extensible ide for c++.The best feature of this C++ ide is that as per on your need, it can be extended with the help of available plugins.
Download Link

4) Digital Mars: Digital mars is another free c/c++ compiler having command line and GUI versions. Digital mars features a fast compile and link time. To download Digital Mars C/C++ compiler check the link below:
Download Link

5) C Free: C free is a superb alternative for traditional turbo c compiler. It’s a small c ide with some brilliant features. C free is not a free ide but it can be used for 30 days for free.
Download Link

6) Sky IDE: Sky ide is a multi-compiler, multi-view, multi- project and multi-profile free c++ ide. Sky ide also supports various other languages such as java, php and JavaScript. Sky ide has powerful text manipulation, Syntax coloring, auto complete, line tracker functions.
Download Link

7) Dev C++ : Dev C++ makes use of mingw port of Gcc as its compiler. Dev C++ also supports c language and its feature includes Gcc based compiler, auto code completion, syntax highlighting, project manager and print support.
Download Link

8) CodeLite: Like Code::Blocks C++ ide, Codelite is also an open source, cross platform ide for C/C++ Programming languages. Codelite can work on different Operating systems such as Windows, Linux and Mac OS.
Download Link

9)MinGW: MinGw compilers provide a group of programming tools suitable for native windows applications. MinGw comprises a port of GCC (GNU) such as C,C++,ADA and Fortan Compilers. It’s an open source compiler.
Download Link

10) Ultimate++ : U++ is a cross platform RAD ide that focuses on c++ programmers productivity. It features a set of libraries such as GUI and SQl. U++ works with GCC, Visual C++ and MingGW.
Download Link 

Shivam Kotwalia, CodeKill

Sunday, 9 February 2014

C, C++ Or C# Programming Contests Around The World

You think you are the best programmer out there? Well here are some challenges!


So, are you a C,C++ or C# programmer who is looking forward to get some coding adventure and test your skills in some coding contests? You have landed on the right page. We bring to you, 10 C/C++/C# contests from around the globe! Have a look: programming, Programming contest, coding, programming competion, programming contests, coding contests, coding competitions, developers, coders, Job for developers,
Annual contests:

1. International Conference on Functional Programming (ICFP) This has been running for a decade and happens in June or July each year. Though it's based in Germany, anyone can enter using any programming language, from any location. It's free to enter and your team isn't limited by size.

2. The BME International: The BME International is an intense free to enter contest that takes place in Europe once a year for teams of three, and you have to bring your own computers and software. This year, the 7th edition took place in Budapest. This contest has had some interesting challenges in the past including driving a car over a virtual terrain? Other past tasks included controlling an oil-company, driving an assembly line robot and programming for secret communication. All programs were written in a 24-hour intense period!

3. International Collegiate Programming Contest: One of the longest running- this contest started in 1970 at Texas A&M and has been run by the ACM since 1989 and has IBM's involvement since 1997. One of the bigger contests, it has thousands of teams from universities and colleges competing locally, regionally and ultimately in the a world final. The contest pits teams of three university students against eight or more complex, real-world problems, with a gruelling five-hour deadline.

4. The Obfuscated C contest: The Obfuscated C contest has been running for nearly 20 years. This is done on the internet, with email submissions. All you have to do is write the most obscure or obfuscated Ansi C program in under 4096 characters length according to the rules. The 19th contest took place back in January/February 2007.

5. The Loebner Prize: The Loebner Prize is not a general programming contest but an AI challenge to enter a computer program that can do the Turing test, ie talk to a human sufficiently well to make the judges believe they are talking to a human. The Judge program, written in Perl will ask questions like "What time is it?", or "What is a hammer?" as well as comparisons and memory. The prize for the best entrant is $2,000 and a Gold Medal.

6. Chatterbox Challenge: It is similar to the Loebner Prize is the Chatterbox Challenge. This is to write the best chatter bot- a web based (or downloadable) application written in any language that can carry on text conversations. If it has an animated display that syncs with text then that is even better- you get more points!

7. International Problem Solving Contest (IPSC): This is more for fun, with teams of three entering via the web. There are 6 programming problems over a 5 hour period. Any programming language is allowed.

8. The Rad Race: Competitors in teams of two have to complete a working business program using any language over two days. This is another contest where you have to bring along equipment, including a router, computer(s), cables, a printer etc. The next one will be in Hasselt, Belgium in October 2007.

9. The Imagine Cup: Students at school or college compete by writing software applicable to the set theme which for 2008 is "Imagine a world where technology enables a sustainable environment." Entries started August 25th 2007.

10. ORTS Competition: ORTS (Open Real Time Strategy game) is a programming environment for studying real-time AI problems such as path-finding, dealing with imperfect information, scheduling, and planning in the domain of RTS games. These games are fast-paced and very popular. Using the ORTS software once every year there is a series of battles to see whose AI is best.

11. The International Obfuscated C Code Contest: Abbreviated IOCCC is a programming contest for the most creatively obfuscated C code. It started in 1984 and the 20th competition started in 2011. Entries are evaluated anonymously by a panel of judges. The judging process is documented in the competition guidelines and consists of elimination rounds. By tradition, no information is given about the total number of entries for each competition. Winning entries are awarded with a category, such as "Worst Abuse of the C preprocessor" or "Most Erratic Behavior", and then announced on the official IOCCC website. There's no prize except if your program is featured on the site then you won!

12. Google Code Jam: Running since 2008, it's open to anyone aged 13 or other, and you or a close relative don't work for Google or a subsidiary country and you don't live in a banned country: Quebec, Saudi Arabia, Cuba, Syria, Burma (Myanmar). (The contest is prohibited by law). There's a qualification round and three other rounds and the top 25 travel to a Google office for the Grand Final.

Ongoing contests:

13. Hutter Prize: If you can improve on the compression of 100 MB of Wikipedia data by 3% or better then you can win cash prizes. Currently the smallest compression is 15,949,688. For every 1% reduction (minimum 3%) you win €500.

14. Project Euler: This is an ongoing series of challenging mathematical/computer programming problems that will require more than just mathematical insights to solve. computationally the problems should be solvable in less than a minute. A typical problem is "Find the first ten digits of the sum of one-hundred 50-digit numbers."

15. Sphere Online Judge. Run at Gdansk University of Technology in Poland, they have regular programming contests - with over 125 completed. Solutions are submitted to an automatic online judge that can deal with C, C++ and C# 1.0 and many other languages.

16. Intel's Threading Programming Problems: Running from September 2007 until the end of September 2008 Intel have their own Programming Challenge with 12 programming tasks, one per month that can be solved by threading. You get awarded points for solving a problem, coding elegance, code execution timing, use of the Intel Threading Building Blocks and bonus points for posting in their problem set discussion forum. Any language but C++ is probably the preferred language.

17. Codechef: Codechef is India's first, non-commercial, multi-platform online coding competition, with monthly contests in more than 35 different programming languages including C, C++ and C#. Winners of each contest get prizes, peer recognition and an invitation to compete at the CodeChef Cup, an annual live event.

Shivam Kotwalia, CodeKill

12 Steps To Become A Hacker!

CodeKill Group bring to you 12 steps to become a hacker, together with all the books, tutorials and resources that you need to learn in the process. So pack your bags and get set for the journey! 

hacking, learn hacking, Unix, Linux, cryptography, books on hacking, tutorials on hacking, how to become a hackerHacking is a fascinating field but it definitely isn't easy. Here we have listed 12 of the most important steps essential to become a hacker, together with all the resources that you need for learning.

Here we focus on the skills and attitude needed to become a hacker. Breaking the security system and entering into the system is not the only thing a hacker does. One requires knowledge of a wide variety of subjects and in depth knowledge of programming languages and operating systems. And needless to say, learning is essential in the journey...

Here are the 12 steps:

It is not an easy task to become a hacker. As a hacker, you need to have an attitude and curiosity. Reading the hacking manifesto can teach you the attitude of a hacker. Nurturing the hacker attitude is more about developing competence in the languages rather than having a stereotypical attitude.

Though a lot of people consider that a hacker is a criminal, in real life, they are hired by big companies for protecting information and minimizing potential damage. The act of hacking actually is that of being over-curious and outwitting authority. As a hacker, you should be hell bent on breaching authoritarian rules, secrecy and censorship. Deception is another arsenal which will allow you to dodge the vigilant eyes of authority.

The act of stealing something or doing harm to someone is not hacking. Such people are commonly called crackers in the community. Crackers are involved in illegal activities and we do not recommend you to get involved into such activities.

Step 1: Learn To Program In C

C programming is one of the most powerful languages in computer programming. It is necessary to really master this language. This programming language was invented by Denise Ritchie in between the years 1969 and 1973 at AT&T Bell Labs. C programming will essentially help you divide the task in smaller pieces and these pieces can be expressed by a sequence of commands. Try writing some program on your own by assessing the logic.

Here are 35 ebooks on C programming

Step 2: Learn More Than One Programming Language

When you are trying to become a hacker, it is very important to learn other modern computer programming languages such as JAVA, Perl, PHP and Python. One of the best ways to learn these is by reading books from experts.

Here are 32 free ebooks on JAVA

Here are 24 free ebooks on Perl

Here are 21 free ebooks on PHP

Here are 50 free ebooks on Python

Step 3: Learn UNIX

UNIX is a multi-tasking and multi-user computer operating system that is designed to provide good security to the systems. This operating system was developed by some employees of AT&T in Bell Labs. The best way to learn it is to get into an open-source version (e.g. centos) and install/run the same on your own. You can operate internet without learning UNIX, but it is not possible for you to be an internet hacker without understanding UNIX.

Here are 33 free ebooks on UNIX

Step 4: Learn More Than One Operating Systems

There are many other operating systems apart from UNIX. Windows operating system is one of the most commonly compromised systems, hence, it is good to learn hacking Microsoft systems, which are closed-source systems.

According to the National Vulnerability Database, Microsoft operating systems have a large number of vulnerabilities.

Windows OS installers are distributed in binary, therefore, it is not easy for you to read the code. Binary code is basically the digital representation of text and data that computer understands. However, knowing how programs are written for Windows and how different applications behave on this operating system will help.

One of the recent vulnerabilities of a popular OS was that Java Web Start applications get launched automatically even if the Java plug-ins are disabled. How to be a hacker is about knowing the weaknesses of these operating systems and targeting them systematically.

Step 5: Learn Networking Concepts

The networking concept needs to be sharp when you want to be a hacker.

Understanding how the networks are created is important, however, you need to know the differences between different types are networks. Having a clear understanding of TCP/IP and UDP protocol is a must to be able to exploit the vulnerabilities on world wide web.

Understand what is subnet, LAN, WAN and VPN.

The networking commands to do a HTTP request needs to be on your fingertips. The HTTP protocol, is the gateway through which one enters the internet world. Hence, it is necessary to learn this protocol in order to break the barriers. The hackers often use the HTTP gateway to breach the security of the system and take control over it.

Apache Httpd is one of the most commonly used web servers and knowing in and out of it is going to empower you on any HTTP or other application layer protocol related endeavors.

Also Nmap is a powerful network scanning tool that is used by hackers and security professional across the world to identify vulnerable hosts. However, to effectively start using it you must understand the networking basics.

Step 6: Start Simple: Go Through Tutorials About Hacking

This is the simple and best way to start. Read as many tutorials as possible that are meant for hacking. These articles will give you insight and help you develop the attitude to be a hacker. Some tutorials will initiate you with Nmap, Nessus and SuperScan, some of the hacking programs or tools that hackers generally use. These tutorials are readily available over the internet; Both text and video tutorials are available for you to answer your question how to be a hacker.

Here are some of the video tutorials

Here are some of the text tutorials

Step 7: Learn Cryptography

As an expert hacker, you need to understand and master the art of cryptography. The technology of cryptography and encryption is very important for internet and networking. It is the practice and study of techniques that are used for secure communication in the presence of third parties. The encryption is done for various aspects of information security such as confidentiality of the data, integrity of the data and authentication. Moreover, the technology of cryptography is extensively used in ATM cards, computer passwords and e-commerce. While hacking, these encrypted codes needs to be broken, which is called decryption.

Understand various techniques used for password cracking. There are dozens of tools available to do password cracking, and using it is not hacking. To be expert at hacking its important for you to understand how to create a program that can crack a password from cypher text.

Here are 20 free ebooks on Cryptography

Step 8: Experiment A Lot

This is an important step for setting yourself up as an expert hacker. Setup a laboratory on your own to experiment the learning on the practical applications. A simplest lab will have your computer, however once you advance you may want to add more and more computers and required hardware for your experiments.

It is good to try experimenting on your own computers, where you can rectify if you have done any mistake. Many hackers initially start off by downloading virtual lab applications such as Oracle VirtualBox. You require at least 3 GBs of RAM and a comparatively powerful processor to carry out your hacking experiments. Setting up the virtual machine is crucial, as it will allow you to test virus, applications and different servers without affecting your own PC.

Some of the things you may need to keep in mind when doing experiments

- Keep a backup before any experiment.
- Start small and have check points.
- Know when to stop.
- Document your progress
- Keep improvising
- Automate repetitive tasks

Step 9: Read Some Good Books From Experts

Reading will always enhance your knowledge. Try to read as many books and articles as possible written by the experts in the field field of ethical hacking and enterprise security

Reading a lot about anything related is so important in the world of hacking that you must also consider enhancing your reading speed. If your reading speed is slow, then you may not be able to progress fast in this field. Practice speed reading techniques like skimming, chunk reading etc.

When it comes to reading a lot, it's also important to know that a majority of content on web is not worth your time. Many people use search engine tricks to attract traffic but have little value in it. If you skim through an article within seconds and decide not to read that is going to save you a lot of time for some really well researched content.

Step 10: Go Next Level: Write Vulnerability

Vulnerability of a program is the weakness of the program. It is a good approach to look for the vulnerability of an existing program and share the same with others. In this way you will have the option to collect varied opinions from different sources, enabling you to hone your current skill set.

The examples of computer vulnerabilities include memory safety violation, input validation error, privilege confusion bugs and user interface failure. For instance, Microsoft’s Internet Explorer 11 had the vulnerability bug in its preview version which several hackers exploited.

Identifying a new weakness in any software is the real work any expert hackers would perform.

Step 11: Contribute To Open Source Security Projects

Contributing to an open-source computer security project is a great platform to test your skills. This is not everyone’s cup of tea. Many organizations like Mozilla and Apache offer these types of open source projects. Try to be a part of these projects and add a valuable contribution to the benefit of the community.

Participating in the open source security projects such as anti-spam, anti-virus, firewall and data removals help you augment your dexterity as a hacker. Contribute your vulnerability findings to the global vulnerability databases and give back to the community.

Remember that it does not matter if your contribution is small, as long as you participate and add value it helps.

Step 12: Continue Learning And Keep Listening To Security Talks

The key to success in the hacking career is continuous learning. Reading blogs for hacking available at sites such as hackerfactor blog and IKEA hacker blog; participating in the forums such as hackforums.net and elite hack are great ways to refresh your knowledge as a hacker. The online video forums like TED or TechTalk are good sources to know more about the emergent hacking techniques and technologies that are being deployed. You should also try following the posts of famous hackers such as Adrian Lamo, Kevin Mitnick, Kevin Poulsen and Robert Tappan Morris.


Happy Hacking
Lead Onn.. !!! This World is Yours... !!!

Like Us On Facebook
Shivam Kotwalia, CodeKill

Saturday, 8 February 2014

35 Free eBooks On C Programming

Here we bring to you 35 free ebooks on one of the most used and most powerful programming languages in the world! 

C programming is one of the most popular and widely used programming languages for creating computer programs and one major reason behind its popularity is because C gives maximum control and efficiency to the programmer.

It allows the programmer to read and write code for a large number of platforms and everything from microcontrollers to the most advanced scientific systems can be written in C, and many modern operating systems are written in C.
free ebooks, C, C programming , free books on C programming, c programming reference, learn c programming
Also the new object oriented language C++ is an extension of C, and it is nearly impossible to learn C++ without learning C first. So here we bring 35 ebooks for you to learn and enhance skills on C programming. And best of all, they are all free!

1. Functional C by Pieter Hartel, Henk Muller - Addison-Wesley, 1999

The book teaches how to program in C, assuming that the student has already learnt how to formulate algorithms in a functional style. The student will become a better C programmer, capable of writing programs that are easier to maintain.

2. Programming in C: UNIX System Calls and Subroutines using C by A. D. Marshall - Cardiff University, 1999

This book is guide to UNIX software development in C for professional programmers and students. It focuses on the UNIX system call interface, the programming interface between the UNIX Kernel and applications running in the UNIX environment.

3. A to Z of C by K. Joseph Wesley, R. Rajesh Jeba Anbiah, 2008

This is an intermediate to advanced C programming book writen for C lovers, students, programmers, and other enthusiasts. The book is written to open many secrets of C, it alos introduces various approaches to solve different problems.

4. 88 C Programs by JT Kalnay - Smashwords, 2012

The author included example programs that exhaustively illustrate the important points of C. By working through these programs you can teach yourself C. It is assumed that you already know how to program and are familiar with standard algorithms.

5. Learn C The Hard Way by Zed A. Shaw - LCodeTHW, 2011

A clear and direct introduction to modern C programming. The purpose of this book is to get you strong enough in C that you'll be able to write your own software in it, or modify someone else's code. The text is not for beginners.

6. Programming in C by Bharat Kinariwala, Tep Dobry - University of Hawaii at Manoa, 1993

Contents: Designing Programs Top Down; Processing Character Data; Numeric Data Types and Expression Evaluation; Pointers; Arrays; Functions and Files; Two Dimensional Arrays; Sorting and Searching; String Processing; Structures and Unions; etc.

7. Object-Oriented Programming with ANSI-C by Axel-Tobias Schreiner, 1999

In this book, we are going to use ANSI-C to discover how object-oriented programming is done, what its techniques are, why they help us solve bigger problems, and how we harness generality and program to catch mistakes earlier.

8. Conceptive C by Harry McGeough - Smashwords, 2011

Conceptive C is an AI programming Language based on Objective-C and C Language. It is a superset of both languages. Conceptive C uses concepts to program natural language and Artificial Intelligence based computer language based on Objective C.

9. Object-Oriented Programming and the Objective-C Language - NeXT Software, Inc., 1996

Objective-C is implemented as set of extensions to the C language. This book both introduces the object-oriented model that Objective-C is based upon and fully documents the language. It concentrates on the Objective-C extensions to C.

10. C Programming - Wikibooks, 2006

C is the precursor for almost all of the popular high-level languages available today. This book represents a comprehensive look at the C programming language and its features. Basic computer literacy is assumed, but no special knowledge is needed.

11. A Little C Primer - Wikibooks, 2010

This online wiki book is a quick and easy introduction to the ANSI C programming language. It is written by a novice, and is intended for use by a novice. However, it does assume some familiarity with a programming language.

12. Foundations of Computer Science: C Edition by Al Aho, Jeff Ullman - W. H. Freeman, 1994

Aho and Ullman have created a C version of their groundbreaking text. This book combines the theoretical foundations of computing with essential discrete mathematics. It follows the same organizations, with all examples and exercises in C.

13. Become an Xcoder: Start Programming the Mac Using Objective-C by B. Altenberg, A. Clarke, P. Mougin - CocoaLab, 2008

A free book for starting with Cocoa using Objective-C. It teaches you the basics of programming, in particular Objective-C programming, using Xcode. Written for non-programmers, and aimed at leveling the learning curve as much as possible.

14. Objective-C 2.0 Essentials by Neil Smyth - Techotopia, 2010

The Objective-C 2.0 Essentials free online book contains 34 chapters of detailed information intended to provide everything necessary to gain proficiency as an Objective-C programmer for both Mac OS X and iPhone development.

15. Using GCC: The GNU Compiler Collection Reference Manual for GCC by Richard M. Stallman - Free Software Foundation, 2003

The definitive reference manual for the most widely used compiler in the world, written by its current developers. The GNU Compiler Collection is a full-featured ANSI C compiler with support for C, C++, Objective C, Java and Fortran.

16. No Bugs!: Delivering Error-Free Code in C and C++ by David Thielen - Addison-Wesley, 1992

The book offers a revolutionary approach to software development by showing how to write error-free code from the start. Presented are techniques to stop many kinds of bugs from being included in a program. It also discusses how to test programs.

17.
Debugging C and C++ code in a Unix environment by J. H. M. Dassen, I. G. Sprinkhuizen-Kuyper – OOPWeb.com

This document describes several techniques and tools for debugging code in C-like languages in a Unix environment. We will also discuss some good coding practices that will diminish the occurrence of certain types of bugs.

18. C Programming in Linux by David Haskins - BookBoon, 2009

Using a series of web development examples, this book will give you an interesting glimpse into a powerful lower-level world. C is tight and spare and economical, and people who know C will ensure critical systems keep running.

19. The GNU C Programming Tutorial by Mark Burgess, Ron Hale-Evans - Free Software Foundation, 2002

This book is a tutorial for the computer programming language C. You should have some basic computer literacy: to be able to run a program, edit a text file, etc. The tutorial introduces basic ideas in a logical order and progresses steadily.

20. The GNU C Library Reference Manual by Sandra Loosemore, at al. - Free Software Foundation, Inc., 2007

The GNU C library, described in this document, defines all of the library functions that are specified by the ISO C standard, as well as additional features specific to POSIX. This manual tells you how to use the facilities of the GNU library.

21. Learning GNU C by Ciaran O'Riordan, 2002

The book teaches GNU users how to write software in C. It is written as a tutorial for beginners but should be thorough enough to be used as a reference by experience programmers. The basics are laid down in full in the first few chapters.

22. Learning Cocoa with Objective-C by James Duncan Davidson - O'Reilly Media, Inc., 2002

This new edition covers the latest updates to the Cocoa frameworks, including examples that use the Address Book and Universal Access APIs. This is the 'must-have' book for people who want to develop applications for Mac OS X.

23. The Objective-C 2.0 Programming Language - Apple Inc., 2009

Objective-C is a small but powerful set of extensions to the standard ANSI C language. This document fully describes the Objective-C language. It concentrates on the Objective-C extensions to C, not on the C language itself.

24. Beej's Guide to Network Programming - Using Internet Sockets by Brian Hall, 2008

A brief how-to guide on network programming using Internet sockets, written for anybody who is just starting out with socket programming. The section on Windows programming is also included. The guide is updated for IPv6.

25. ANSI C for Programmers on UNIX Systems by Tim Love, 1999

This document introduces C by providing and explaining examples of common programming tasks. It enables the reader to learn from available source code by clarifying common causes of incomprehension. Exercises form an integral part of the course.

26. C Programming Tutorial (K&R version 4) by Mark Burgess, 1999

This book is a tutorial. Its aim is to teach C to a beginner, but with enough of the details so as not be outgrown as the years go by. It presumes that you have some previous aquaintance with programming, but you do not need much experience.

27. The C Library Reference Guide by Eric Huss, 1997

This guide provides a useful look at the standard C programming language. It will not teach one how to program in C, nor will it attempt to provide the history of C. It is merely a handy reference to the standard C library.

28. C Language Tutorial by Gordon Dodrill - Applix Pty Ltd, 1999

C language tutorial for experienced programmers. It begins with the highest level of C programming, including the concepts of pointers, structures, and dynamic allocation. This printed version includes copies of all the code, for easier reference.

29. C Elements of Style by Steve Oualline - M & T Books, 1992

A handy guide which covers the principals of good programming style, teaching C and C++ programmers how to write code that can be easily read, understood, and maintained by others. Useful both for students and professional programmers.

30. Writing Bug-Free C Code for Windows by Jerry Jongerius - Prentice Hall, 1995

The book presents a programming style that automatically detects bugs in C code. It describes a technique that results in bug-free code from the beginning, advocating a style of coding based upon data abstraction and run-time object verification.

31. The New C Standard by Derek M. Jones - Addison-Wesley Professional, 2008

The book about the latest version of the C Standard, it is a systematic analysis of the language standard. Every sentence in the C Standard appears in this book, followed by a commentary section, common implementations, coding guidelines, etc.

32. An Introduction to GCC by Brian J. Gough, Richard M. Stallman - Network Theory Ltd, 2004

This manual provides a complete introduction to the GNU C and C++ compilers, common problems and encountered error messages, with numerous easy examples. The text covers compiling using headers and libraries, preprocessor, linking, and more.

33. Image Processing in C: Analyzing and Enhancing Digital Images by Dwayne Philipps - R & D Books, 1997

An image processing tutorial which explains basic concepts, shows results with photographs, and implements programs in C. The book covers filters, edge detectors, and histogram equalizers, print procedures, and I/O routines, which are ready to use.

34. The C Book: Featuring the ANSI C Standard by Mike Banahan, Declan Brady, Mark Doran - Addison-Wesley Pub, 1991

Use this book to produce powerful and portable code. The C Book is dedicated to programmers who have some experience of using a modern high-level procedural programming language. Learn about new standards and how they affect existing C code.

35. Object Oriented Programming in ANSI-C by Axel Schreiner, 2001

We use ANSI-C to find out how to write object oriented programs, what are they useful for solving bigger problems, and how to catch mistakes earlier. The book covers classes, objects, instances, inheritance, linkage, methods, polymorphisms, and more. 


Like Us on facebook
Shivam Kotwalia, CodeKill

Wednesday, 29 January 2014

C Series: Intro. Why C?

Hey guys. Greetings to all the readers. All of us who are even a slightest bit related to computer & technologies, have heard of C language in some way or other as one of the most important one to be learnt when our flight takes off for the land of programming. Ever wondered what makes it so special? Here we'll see a few features that makes it an awesome language.

Developed by Dennis Ritchie between 1969 and 1973 which means it has been there since a few decades. This leads to a loads of source codes & tutorials available for it along with the research & development done to it.(After all crazy people like us have existed since the beginning of life who were never satisfied with languages they used to communicate with normal people :P )

Simplicity - The codes written in C language are very much easier than the codes written in many other languages like C++ , Java etc. ( Don't forget to check a language called "Brainfuck" & you'll believe how true this is).

Closeness to the machine - Next point which makes it so special is the control that it provides over the machine. By this we mean the way it lets you handle the memory allocation & gives the direct access to memory blocks via the pointers. Also it has various functions which provides the programmer a high level of grasp over system processes.

Speed - By speed, we refer to the execution speed of a programming language. Benchmark results for same process developed in any other language takes much more time than C to execute. And once you get into millions of lines of codes, speed of execution plays a vital role. (I'm sure it's pretty much faster Usain Bolt. )

Mother of Languages - Influenced the development of many of the present day languages like C++, Objective C, Java, Perl, PHP, JavaScript, Verilog etc.



Unix kernel is written in C Language. Also major parts of Windows OS is written in C language. That's because of various features like speed of execution, closeness to machine, strong networking which makes it the first choice of language for such task.

All the electrical appliances like TV, fridges, remote controlled devices, microwaves etc use a technology which uses the designing of a complex system over a very constrained environment like lack of memory support, need of faster execution (Imagine you press a button to change channel & it changes 5 minutes after it is pressed). Such technology is known as Embedded System. For such systems also C is the most preferred language & reasons are very clear.

Most of the present day PC games are somehow based on upon this language.Internal processes are still handled by C language at some level. This language is also capable of handling DataBase applications.

And the list goes on & on. Dimensions of usage of C are very vast. (Even Sir Dennis Ritchie would have not thought that this language would be such a success. :P ). With this i conclude the basic introduction to C language & an overview of why it is considered so important in programming field. Thanks for reading. Cheers. :)
P.S. Reviews are always welcome.(Bad One Too ) ;)


Labels

Tutorial (129) Tech News (83) E-Books (55) Pdf (47) Hacking (46) Linux (32) Android (23) Programming (22) Tools (22) Video (21) Ethical Hacking (16) Electronics (12) Google (10) Hacked (9) Python (9) Facebook (8) Java (8) Software (8) PHP (7) Android App (6) C (6) Free Online Coureses (6) OpenSource (6) Ubuntu (6) Unix (6) Windows (6) C++ (5) Game Programming (5) Java Programming (5) Kali Linux (5) CodeKill (4) Cryptography (4) Firefox (4) JavaScript (4) Linux System Administrator (4) Mac (4) Penetration testing (4) Python Programming (4) Security (4) Top Distros (4) WhatsApp (4) CSS (3) Circuit (3) Cloud Computing (3) Game Devlopment (3) Hacking Tools (3) Malware (3) MicroController (3) Microsoft (3) Networking Tool (3) Perl (3) Source Code (3) WebSite (3) Windows 8.1 (3) C Programming (2) C Series (2) C# (2) CheetSheet (2) Computer (2) Computer Networking (2) Data Storage (2) Dual Boot (2) Eclipse (2) Edward Snowden (2) Exploit (2) Facts (2) Games On Linux (2) Google Chrome (2) HTML5 (2) Hacking Challenges (2) IDE's (2) Information Security (2) Lenovo (2) Linux Kernel (2) Malicious (2) Mobile (2) Motorola (2) Mozilla (2) MySQL (2) NoSQL (2) Raspberry Pi (2) Ruby (2) Security Tools (2) Syrian Electronic Army (2) Tricks and Tips (2) Valentine Day (2) Web Design (2) iOS (2) iPhone (2) jQwery (2) *nix (1) 2014 (1) 3D Modeling (1) Algorithm (1) Android Hacking (1) Android Pattern Lock Screen.. (1) Anonymous Mail (1) Anti-Spam (1) Apps (1) Arduino (1) Artificial Intelligance (1) Audio Software (1) BSD (1) BeAWARE (1) Bitcoin (1) Black Hat Hackers (1) BlackBerry (1) Buffer Overflow (1) C++ vs Java (1) CISO (1) Circuit Analysis (1) Circuit Design (1) Circuit Programming (1) Circuit Simulators (1) Codes (1) Crptology (1) Cryptanalysis (1) DDOS (1) Devlopers (1) Drupal (1) DuckDuckGo Search Engine (1) E-Card (1) E-Mails (1) Embedded System (1) Encryption Tools (1) Error (1) FTP (1) Famous Passwords (1) FileZilla (1) Flipkart (1) Forbes (1) Forgot Password (1) GCHQ (1) Genders (1) Gmail (1) Google Tricks and Trips (1) HTML (1) Hacking Distro (1) Hard Disk (1) Hash Encryption (1) Illegal (1) Internet (1) LAMP (1) Language Theory (1) LibreOffice (1) Linus Trovalds (1) Logic Gates (1) MATLAB (1) MOSFET (1) Mail (1) Mark Zuckerberg (1) Mathematical (1) MicroProcessor (1) Mind Mapping Tools (1) Myntra (1) NoSQL Database (1) Nobal Prize (1) Nokia (1) Object Oriented Programming (1) Office (1) Oldboot (1) Online (1) Paranoid Android (1) Passwords (1) Passwords Cracking Tools (1) PayPal (1) Perl Programming (1) Plugins (1) Prolog Programming (1) Python Basics (1) Remote (1) SEA (1) SQL Injection (1) Sans (1) Screencasts (1) Screenloggers (1) Server Load (1) Servers (1) Shell (1) Software Design (1) Software Developer (1) Software Testing (1) Sony (1) Spider.io (1) Statistical (1) Steve Jobs (1) TCP/IP (1) Timeline (1) Tor (1) Trojan (1) Ubuntu Phones (1) VAIO (1) Virus (1) Web Designers (1) Wi-Fi Hacking (1) Windows Tools (1) Windows XP (1) WordPress (1) XML (1) Yahoo (1) YouTube (1) cpp (1) eBay (1) iBanking (1)