Sort
Profile photo for Quora User

Newbies often focus on the language and the code, not the problem they are trying to solve. Some typical mistakes:

  • Failing to understand the intent of the module they are coding, and how it fits into the overall architecture.
  • Failing to recognize the core logic of the function (which is sometimes no more than a single loop) and spending too much effort on extraneous bits.
  • Using exotic features of their favorite language, when more mundane features will do as well.
  • Using mundane features of their favorite language, when more exotic features would provide better performance or reliability.
  • Reinventin

Newbies often focus on the language and the code, not the problem they are trying to solve. Some typical mistakes:

  • Failing to understand the intent of the module they are coding, and how it fits into the overall architecture.
  • Failing to recognize the core logic of the function (which is sometimes no more than a single loop) and spending too much effort on extraneous bits.
  • Using exotic features of their favorite language, when more mundane features will do as well.
  • Using mundane features of their favorite language, when more exotic features would provide better performance or reliability.
  • Reinventing functionality that is already available in a standard library.
  • Being defensive during code reviews, rather than learning new approaches.

You know, as I reread this list I realize that they're not just newbie mistakes. I've seen veteran programmers fall into all these traps. And I had to guard against them for my whole career.

Profile photo for Yacine Touati

I retrained as a web developer (I was doing something else entirely before that) and after two years, I begin to grasp the idea that I shouldnt worry about how to exactly write a piece of code to get some output or check something in the logic I try to implement.

I understood with pain that I should really worry about the why I choose this design pattern over another, why I’m starting to write complicated enormous blocks instead of modularizing stuff.

Because starting to code is like taking the red pill and is such a challenge since you need to learn and processs a huge amount of various and con

I retrained as a web developer (I was doing something else entirely before that) and after two years, I begin to grasp the idea that I shouldnt worry about how to exactly write a piece of code to get some output or check something in the logic I try to implement.

I understood with pain that I should really worry about the why I choose this design pattern over another, why I’m starting to write complicated enormous blocks instead of modularizing stuff.

Because starting to code is like taking the red pill and is such a challenge since you need to learn and processs a huge amount of various and contradictory data, some trivial, some extremely important (and you wouldnt even be able to distinguish between the two); the main struggle is, in my opinion, to actually understand what you’re doing and why you’re doing it.

A good place to start is a memo, really, a text file; or even comments at the start of the code. In this memo, you would write a comprehensive list of all the steps needed to achieve something like logging in a user, sending an email, checking for authorization, etc.

Dont start to ask yourself “how the hell I am going to do that ?”, which can be very stressful and thus unproductive; just state “what is required for this thing to work ?” in simple bullet points. You can take it from there, and with experience, you’ll find out that every of these bullet points has an answer on the Internet; later on, you’ll even find out that you already know how to do this and that you’re still searching it because of habits.

I know it’s a really abstract place to start, but I really want to emphasize on this. Still, on a less abstract perspective, you could start with Free Code Camp and follow their curriculum, it’s free and it’s great (and you can also donate) =>

Have fun !

Where do I start?

I’m a huge financial nerd, and have spent an embarrassing amount of time talking to people about their money habits.

Here are the biggest mistakes people are making and how to fix them:

Not having a separate high interest savings account

Having a separate account allows you to see the results of all your hard work and keep your money separate so you're less tempted to spend it.

Plus with rates above 5.00%, the interest you can earn compared to most banks really adds up.

Here is a list of the top savings accounts available today. Deposit $5 before moving on because this is one of th

Where do I start?

I’m a huge financial nerd, and have spent an embarrassing amount of time talking to people about their money habits.

Here are the biggest mistakes people are making and how to fix them:

Not having a separate high interest savings account

Having a separate account allows you to see the results of all your hard work and keep your money separate so you're less tempted to spend it.

Plus with rates above 5.00%, the interest you can earn compared to most banks really adds up.

Here is a list of the top savings accounts available today. Deposit $5 before moving on because this is one of the biggest mistakes and easiest ones to fix.

Overpaying on car insurance

You’ve heard it a million times before, but the average American family still overspends by $417/year on car insurance.

If you’ve been with the same insurer for years, chances are you are one of them.

Pull up Coverage.com, a free site that will compare prices for you, answer the questions on the page, and it will show you how much you could be saving.

That’s it. You’ll likely be saving a bunch of money. Here’s a link to give it a try.

Consistently being in debt

If you’ve got $10K+ in debt (credit cards…medical bills…anything really) you could use a debt relief program and potentially reduce by over 20%.

Here’s how to see if you qualify:

Head over to this Debt Relief comparison website here, then simply answer the questions to see if you qualify.

It’s as simple as that. You’ll likely end up paying less than you owed before and you could be debt free in as little as 2 years.

Missing out on free money to invest

It’s no secret that millionaires love investing, but for the rest of us, it can seem out of reach.

Times have changed. There are a number of investing platforms that will give you a bonus to open an account and get started. All you have to do is open the account and invest at least $25, and you could get up to $1000 in bonus.

Pretty sweet deal right? Here is a link to some of the best options.

Having bad credit

A low credit score can come back to bite you in so many ways in the future.

From that next rental application to getting approved for any type of loan or credit card, if you have a bad history with credit, the good news is you can fix it.

Head over to BankRate.com and answer a few questions to see if you qualify. It only takes a few minutes and could save you from a major upset down the line.

How to get started

Hope this helps! Here are the links to get started:

Have a separate savings account
Stop overpaying for car insurance
Finally get out of debt
Start investing with a free bonus
Fix your credit

Profile photo for Katherine Giron Pe

As a perpetual beginner, I can tell you that learning how to code requires more than skill.

It’s the discipline to read books, experiment everyday and constantly challenge yourself to do more than your counterparts that many of us lack.

Learning Computer Science helps, but some programs can be poor introductions to Software Engineering. This is a reason to consider programming bootcamps. General Assembly, Thinkful and Lambda School are good options. Full disclosure: I work for one of them.

Talk to developers

You need to be more sociable and communicative. Hang out on Slack channels of languages an

As a perpetual beginner, I can tell you that learning how to code requires more than skill.

It’s the discipline to read books, experiment everyday and constantly challenge yourself to do more than your counterparts that many of us lack.

Learning Computer Science helps, but some programs can be poor introductions to Software Engineering. This is a reason to consider programming bootcamps. General Assembly, Thinkful and Lambda School are good options. Full disclosure: I work for one of them.

Talk to developers

You need to be more sociable and communicative. Hang out on Slack channels of languages and frameworks you are learning. They will help you understand what you just can’t even after hours of researching. Sometimes talking to them would save you hours so just ask. They mostly don’t judge.

The best list of Slack groups for developers

Read books

EbookFoundation/free-programming-books

I still struggle to build apps. It’s not easy even after a decade of doing it. I guess that’s why I am still doing it. If it’s not challenging enough, I would do something else like build a business, be a marketing specialist or work for Financial institutions as a risk analyst.

Profile photo for Joshua Gross

I’ve removed the “where to start” question because it’s discussed extensively elsewhere on Quora. I’ve also changed “code” to “program”. Code should not be used as a verb; the point is not to make things cryptic!

The most common single problem students have is what we call “algorithmic thinking.” Some take to this handily, while others struggle. At Blackburn, when we teach CS1, introduction to programming, we define algorithm as “a finite sequence of unambiguous instructions that, when given any necessary input, produces the correct output and stops.” (I change “any” to “all” because reasons, b

I’ve removed the “where to start” question because it’s discussed extensively elsewhere on Quora. I’ve also changed “code” to “program”. Code should not be used as a verb; the point is not to make things cryptic!

The most common single problem students have is what we call “algorithmic thinking.” Some take to this handily, while others struggle. At Blackburn, when we teach CS1, introduction to programming, we define algorithm as “a finite sequence of unambiguous instructions that, when given any necessary input, produces the correct output and stops.” (I change “any” to “all” because reasons, but my predecessor developed this definition.) We even require students to memorize it and include it on all exams for that course because it’s that important. We then spend the semester unpacking that definition and how their first language allows them to express concepts algorithmically.

Computers require a much higher level of detail than humans require, because they don’t know anything, don’t understand anything, and never have any context. Translating processes understood implicitly into explicit instructions is frustrating as you’re adjusting. It’s not syntax or variables or loops; students get frustrated learning to translate from nice, efficient human thought into the detailed Boolean logic that a computer needs.

Profile photo for Assistant
Assistant

Beginners often face several common struggles when learning to code:

Common Struggles:

  1. Syntax Errors: New coders frequently encounter syntax errors due to unfamiliarity with the programming language's rules.
  2. Understanding Concepts: Concepts like variables, loops, and functions can be challenging to grasp initially.
  3. Debugging: Finding and fixing errors in code can be frustrating, especially without experience.
  4. Overwhelm from Choices: With numerous languages and frameworks available, beginners may feel overwhelmed about where to start.
  5. Imposter Syndrome: Many beginners doubt their abilities, feeling t

Beginners often face several common struggles when learning to code:

Common Struggles:

  1. Syntax Errors: New coders frequently encounter syntax errors due to unfamiliarity with the programming language's rules.
  2. Understanding Concepts: Concepts like variables, loops, and functions can be challenging to grasp initially.
  3. Debugging: Finding and fixing errors in code can be frustrating, especially without experience.
  4. Overwhelm from Choices: With numerous languages and frameworks available, beginners may feel overwhelmed about where to start.
  5. Imposter Syndrome: Many beginners doubt their abilities, feeling that they are not progressing quickly enough compared to others.
  6. Lack of Practical Application: Struggling to connect theoretical knowledge with real-world applications can hinder motivation.
  7. Time Management: Balancing learning with other responsibilities can be difficult, leading to inconsistent practice.

Good Places to Start:

  1. Online Learning Platforms:
    -
    Codecademy: Offers interactive coding lessons in various languages.
    -
    freeCodeCamp: Provides a comprehensive curriculum for web development and programming fundamentals.
    -
    Coursera or edX: Features courses from universities that cover coding basics and specialized topics.
  2. Books:
    -
    "Automate the Boring Stuff with Python" by Al Sweigart: Great for beginners and emphasizes practical projects.
    -
    "Python Crash Course" by Eric Matthes: A hands-on introduction to programming with Python.
  3. YouTube Channels:
    - Channels like
    Traversy Media, The Net Ninja, and Programming with Mosh offer free tutorials on various programming topics.
  4. Coding Bootcamps: Intensive programs like Le Wagon or General Assembly can provide structured learning and hands-on projects.
  5. Practice Platforms:
    -
    LeetCode, HackerRank, and Codewars offer coding challenges that help reinforce learning through practice.

Tips for Success:

  • Start Small: Focus on simple projects and gradually increase complexity.
  • Join Community: Engage with online forums (like Stack Overflow or Reddit) and local coding groups for support.
  • Consistent Practice: Dedicate regular time to coding to build and reinforce skills.
  • Build Projects: Apply what you learn by creating small projects that interest you.

By recognizing these struggles and utilizing these resources, beginners can navigate the learning process more effectively and develop their coding skills.

Profile photo for Ethan Anderson

1. Overlook how much you can save when shopping online

Many people overpay when shopping online simply because price-checking across sites is time-consuming. Here is a free browser extension that can help you save money by automatically finding the better deals.

  • Auto-apply coupon codes – This friendly browser add-on instantly applies any available valid coupon codes at checkout, helping you find better discounts without searching for codes.
  • Compare prices across stores – If a better deal is found, it alerts you before you spend more than necessary.

Capital One Shopping users saved over $800 millio

1. Overlook how much you can save when shopping online

Many people overpay when shopping online simply because price-checking across sites is time-consuming. Here is a free browser extension that can help you save money by automatically finding the better deals.

  • Auto-apply coupon codes – This friendly browser add-on instantly applies any available valid coupon codes at checkout, helping you find better discounts without searching for codes.
  • Compare prices across stores – If a better deal is found, it alerts you before you spend more than necessary.

Capital One Shopping users saved over $800 million in the past year, check out here if you are interested.

Disclosure: Capital One Shopping compensates us when you get the browser extension through our links.

2. Overpaying on Auto Insurance

Believe it or not, the average American family still overspends by $461/year¹ on car insurance.

Sometimes it’s even worse: I switched carriers last year and saved literally $1,300/year.

Here’s how to quickly see how much you’re being overcharged (takes maybe a couple of minutes):

  • Pull up Coverage.com – it’s a free site that will compare offers for you
  • Answer the questions on the page
  • It’ll spit out a bunch of insurance offers for you.

That’s literally it. You’ll likely save yourself a bunch of money.

3. Not Investing in Real Estate (Starting at Just $20)

Real estate has long been a favorite investment of the wealthy, but owning property has often felt out of reach for many—until now.

With platforms like Ark7, you can start investing in rental properties with as little as $20 per share.

  • Hands-off management – Ark7 takes care of everything, from property upkeep to rent collection.
  • Seamless experience – Their award-winning app makes investing easy and efficient.
  • Consistent passive income – Rental profits are automatically deposited into your account every month.

Now, you can build your own real estate portfolio without needing a fortune. Ready to get started? Explore Ark7’s properties today.

4. Wasting Time on Unproductive Habits

As a rule of thumb, I’d ignore most sites that claim to pay for surveys, but a few legitimate ones actually offer decent payouts.

I usually use Survey Junkie. You basically just get paid to give your opinions on different products/services, etc. Perfect for multitasking while watching TV!

  • Earn $100+ monthly – Complete just three surveys a day to reach $100 per month, or four or more to boost your earnings to $130.
  • Millions Paid Out Survey Junkie members earn over $55,000 daily, with total payouts exceeding $76 million.
  • Join 20M+ Members – Be part of a thriving community of over 20 million people earning extra cash through surveys.

With over $1.6 million paid out monthly, Survey Junkie lets you turn spare time into extra cash. Sign up today and start earning from your opinions!

5. Paying off credit card debt on your own

If you have over $10,000 in credit cards - a debt relief program could help you lower your total debt by an average of 23%.

  • Lower your total debt – National Debt Relief works with creditors to negotiate and settle your debt for less than you owe.
  • One affordable monthly payment – Instead of managing multiple bills, consolidate your payments into one simple, structured plan.
  • No upfront fees – You only pay once your debt is successfully reduced and settled, ensuring a risk-free way to tackle financial burdens.

Simple as that. You’ll likely end up paying less than you owed and could be debt free in 12-24 months. Here’s a link to National Debt Relief.

6. Overspending on Mortgages

Overpaying on your mortgage can cost you, but securing the best rate is easy with Bankrate’s Mortgage Comparison Tool.

  • Compare Competitive Rates – Access top mortgage offers from trusted lenders.
  • Personalized results – Get tailored recommendations based on your financial profile.
  • Expert resources – Use calculators to estimate monthly payments and long-term savings.

Don’t let high rates limit your financial flexibility. Explore Bankrate’s Mortgage Comparison Tool today and find the right mortgage for your dream home!

7. Ignoring Home Equity

Your home can be one of your most valuable financial assets, yet many homeowners miss out on opportunities to leverage its equity. Bankrate’s Best Home Equity Options helps you find the right loan for renovations, debt consolidation, or unexpected expenses.

  • Discover top home equity loans and HELOCs – Access competitive rates and terms tailored to your needs.
  • Expert tools – Use calculators to estimate equity and project monthly payments.
  • Guided decision-making – Get insights to maximize your home’s value while maintaining financial stability.

Don’t let your home’s value go untapped. Explore Bankrate’s Best Home Equity Options today and make your equity work for you!

8. Missing Out on Smart Investing

With countless options available, navigating investments can feel overwhelming. Bankrate’s Best Investing Options curates top-rated opportunities to help you grow your wealth with confidence.

  • Compare investments – Explore stocks, ETFs, bonds, and more to build a diversified portfolio.
  • Tailored insights – Get tailored advice to match your financial goals and risk tolerance.
  • Maximize returns – Learn strategies to optimize investments and minimize risks.

Take control of your financial future. Explore Bankrate’s Best Investing Options today and start building a stronger portfolio today!

Disclaimer:

Found is a financial technology company, not a bank. Business banking services are provided by Piermont Bank, Member FDIC. The funds in your account are FDIC-insured up to $250,000 per depositor for each account ownership category. Advanced, optional add-on bookkeeping software available with a Found Plus subscription. There are no monthly account maintenance fees, but transactional fees for wires, instant transfers, and ATM apply. Read more here: Fee Schedule

Profile photo for Timothy Murphy

Searched
http://www.bing.com/search?q=were+to+staart+for+a+struggling+beginner+learning+code&form=APIPA1
Tim Murphy(Tady)

Profile photo for Ryan Deschamps

* Assuming that a programming language is oriented to the particular problem they want to solve. Nope — there are millions of problems and each has a few ways to solve it.
* Assuming that language designers are being assholes when a function refuses to do a string operation on a Number-based type.
* Not realizing that the facing a bug is much more expensive time-wise than a few extra coding ste

* Assuming that a programming language is oriented to the particular problem they want to solve. Nope — there are millions of problems and each has a few ways to solve it.
* Assuming that language designers are being assholes when a function refuses to do a string operation on a Number-based type.
* Not realizing that the facing a bug is much more expensive time-wise than a few extra coding steps.
* Failing to figure out what goes in and out of a function *first* and then writing a test before writing the code.
* Thinking that all programs finish with a print or println.
* Straight procedural coding, instead of breaking units apart into functions.
* Assuming that the basic language tutorial is all they need to know. Nope — each new library means a new set of things to learn.
* Reading...

Profile photo for Grammarly

So, you think you’ve drafted a tweet, an email, a short story, or even a novel. These are different forms of communication, but the process of bringing them to fruition has a necessary, sometimes overlooked step: editing! Unless you’re a professional writer, it’s unlikely that you have an editor who can review your writing regularly. Here are some tips to help you review your own work.

  1. Give your writing some space. Have you ever felt a mix of pure relief and joy when you’ve finished a draft of something? Don’t downplay that feeling and the ability to walk away from your work before you start ed

So, you think you’ve drafted a tweet, an email, a short story, or even a novel. These are different forms of communication, but the process of bringing them to fruition has a necessary, sometimes overlooked step: editing! Unless you’re a professional writer, it’s unlikely that you have an editor who can review your writing regularly. Here are some tips to help you review your own work.

  1. Give your writing some space. Have you ever felt a mix of pure relief and joy when you’ve finished a draft of something? Don’t downplay that feeling and the ability to walk away from your work before you start editing it. You may need minutes, hours, or days, but once you sit back down with what you originally had on the page, you’ll have the thrill of looking at it with fresh eyes. You’ll notice errors you may not have seen the first time. You’ll come to new realizations about its overall tone and structure. If it’s a text or email, maybe you only need a few minutes away from it. If it’s a story or essay, perhaps you’ll need longer. Regardless of what type of work it is, it will help your writing tremendously.
  2. Don’t use overachieving synonyms. Looking at your work for the second, third, or fourth time around may inspire you to spice up your language with longer, more uncommon words. There’s nothing wrong with having a thesaurus nearby, but try to limit the repetition of long, pretentious-feeling words so your work flows well and doesn’t feel too bogged down. At the end of the day, you want it to feel true to you and the message you’re conveying.
  3. Remember who the reader is. Don’t forget your own voice as the writer—but don’t forget who your reader is. Many writers get too close to their work; editing is a chance to try to get out of your own head. Who is your ideal reader? What do you want them to take away from the writing? It’s a unique time to step in their shoes, to make sure your communication is as effective as you’d like it to be.
  4. Kill your darlings. Don’t be scared to remove chunks of your work, even if it feels precious to you. If it’s a passage that’s really tough to part with, try saving it somewhere else, so you can return to it later in your piece or for another work.
  5. Use Grammarly. Last but not least, Grammarly has countless resources for editing your work. Our writing assistant helps you find areas of your writing that are unclear or too wordy, as well as help you find mistakes you might not have caught.

Editing may feel tedious, but it’s just as important as writing itself. For an extra pair of editing eyes on everything you write, download the free Grammarly for Windows and Mac today.

Profile photo for Jeremy Singer

There are two things that can make learning difficult: getting something to work that is too big, and debugging.

When writing an essay, it may be fine to write a lot before editing and revising, but this can be a mistake for the newcomer when writing code. I call this the “Big Bang” approach to coding a project. Writing a lot of code before testing anything will leave you buried in errors, and having a difficult time localizing problems and fixing them.

A better approach is to start small and simple, test, and build on success. If you start with something that works, add a little, and test, you

There are two things that can make learning difficult: getting something to work that is too big, and debugging.

When writing an essay, it may be fine to write a lot before editing and revising, but this can be a mistake for the newcomer when writing code. I call this the “Big Bang” approach to coding a project. Writing a lot of code before testing anything will leave you buried in errors, and having a difficult time localizing problems and fixing them.

A better approach is to start small and simple, test, and build on success. If you start with something that works, add a little, and test, you limit the amount of code that you need to search to find problems.

A very big part of your time will probably be spent fixing errors. Learning methods of debugging early will help you.

Many programming languages and systems come with debugging tools. Even when you have few tools, error messages are part of the debugging arsenal helping you to locate and diagnose your problems. Even if you don’t have debugging tools, you can use print statements to show you how long the execution processes have progressed.

Learn to name programs, variables, routines, and files meaningfully. Establish a consistent naming convention. I recall many systems that teams have designed where the last part of its name was “System”. Duh. I remember one system that was called NewDev. That was about 30 years ago. Don’t do this.

Following consistent conventions in coding makes it easier to write programs to automate part of what you are doing. The less conventions you follow, the more work you will have to hand craft.

When modifying old code, try to follow the formatting and other conventions that it follows.

When writing new code, it is helpful to write comments without code to show the outline of how you expect to get the job done. A variant of this approach is to write function or procedure stubs that just announce their names so you can see that the program flow is correct. This is a good way to proceed from outline to fully functional system. Error messages will then appear interspersed with subroutine names helping you to debug your code.

Profile photo for Ch Siddharth

There are some problems.

  • Where to start? : The first and foremost question that comes into a mind of a beginner is “Which programming language should I learn first?”.Most of them end up learning C as first programming language,since it’s the most suggested by everyone on the planet(don’t know why)
  • Perfect Resources : The next question is “Where shall I learn stuff?”.There are so many options which confuse every beginner.
  • Time : “How much time should I spend in a day learning programming?”
  • Confusion : “What the hell is going on?” after seeing the lines of code needed to just print “Hello World”.Won

There are some problems.

  • Where to start? : The first and foremost question that comes into a mind of a beginner is “Which programming language should I learn first?”.Most of them end up learning C as first programming language,since it’s the most suggested by everyone on the planet(don’t know why)
  • Perfect Resources : The next question is “Where shall I learn stuff?”.There are so many options which confuse every beginner.
  • Time : “How much time should I spend in a day learning programming?”
  • Confusion : “What the hell is going on?” after seeing the lines of code needed to just print “Hello World”.Wondering that if u can just type hello world in notepad,then why do u need some extra lines to write hello world?
  • New terminologies : Getting dumbstruck after seeing iostream,class,void,static,main,etc.When I saw these terms for the first time I was like wow a programming language is really a LANGUAGE to learn.
  • Suggestions : This is actually the biggest problem of all.EVERY Tom,Dick and Harry and even his dog suggests you to learn this instead of that.I’ve started learning java and then after listening to some idiotic suggestions started C++ and python.Now I don’t even know whether I’ve learnt anything or not!

P.S : Now I’m strictly focusing on C.

Edit : Sorry but I cant give you solutions for these problems because it’s again a “SUGGESTION”,and everybody has a different point of view.

Profile photo for Johnny M

I once met a man who drove a modest Toyota Corolla, wore beat-up sneakers, and looked like he’d lived the same way for decades. But what really caught my attention was when he casually mentioned he was retired at 45 with more money than he could ever spend. I couldn’t help but ask, “How did you do it?”

He smiled and said, “The secret to saving money is knowing where to look for the waste—and car insurance is one of the easiest places to start.”

He then walked me through a few strategies that I’d never thought of before. Here’s what I learned:

1. Make insurance companies fight for your business

Mos

I once met a man who drove a modest Toyota Corolla, wore beat-up sneakers, and looked like he’d lived the same way for decades. But what really caught my attention was when he casually mentioned he was retired at 45 with more money than he could ever spend. I couldn’t help but ask, “How did you do it?”

He smiled and said, “The secret to saving money is knowing where to look for the waste—and car insurance is one of the easiest places to start.”

He then walked me through a few strategies that I’d never thought of before. Here’s what I learned:

1. Make insurance companies fight for your business

Most people just stick with the same insurer year after year, but that’s what the companies are counting on. This guy used tools like Coverage.com to compare rates every time his policy came up for renewal. It only took him a few minutes, and he said he’d saved hundreds each year by letting insurers compete for his business.

Click here to try Coverage.com and see how much you could save today.

2. Take advantage of safe driver programs

He mentioned that some companies reward good drivers with significant discounts. By signing up for a program that tracked his driving habits for just a month, he qualified for a lower rate. “It’s like a test where you already know the answers,” he joked.

You can find a list of insurance companies offering safe driver discounts here and start saving on your next policy.

3. Bundle your policies

He bundled his auto insurance with his home insurance and saved big. “Most companies will give you a discount if you combine your policies with them. It’s easy money,” he explained. If you haven’t bundled yet, ask your insurer what discounts they offer—or look for new ones that do.

4. Drop coverage you don’t need

He also emphasized reassessing coverage every year. If your car isn’t worth much anymore, it might be time to drop collision or comprehensive coverage. “You shouldn’t be paying more to insure the car than it’s worth,” he said.

5. Look for hidden fees or overpriced add-ons

One of his final tips was to avoid extras like roadside assistance, which can often be purchased elsewhere for less. “It’s those little fees you don’t think about that add up,” he warned.

The Secret? Stop Overpaying

The real “secret” isn’t about cutting corners—it’s about being proactive. Car insurance companies are counting on you to stay complacent, but with tools like Coverage.com and a little effort, you can make sure you’re only paying for what you need—and saving hundreds in the process.

If you’re ready to start saving, take a moment to:

Saving money on auto insurance doesn’t have to be complicated—you just have to know where to look. If you'd like to support my work, feel free to use the links in this post—they help me continue creating valuable content.

Profile photo for Javier Ortiz Bultron

1) The urge to start writing code instead of thinking and designing the solution before doing so.

2) Focusing on the language and not the actual programming, which is the way of thinking. This can travel from language to language.

I would say any tutorial like this:

Learn Java - Free Interactive Java Tutorial

Java tutorial: Learn Java Programming with examples

The Java™ Tutorials

Why Java? It's popular and with plenty of resources that are free.

Profile photo for Michael Gogins

Good place to start: work through all the examples of the Python Tutorial that comes with the Python documentation.

Common bad moves:

  1. Copying what other people do instead of understanding what they do.
  2. Not making one’s code as clear and easy to read as possible. No abbreviations, no funky spelling or punctuation, no funny spacing, no funny indentation. Make the variable names tell you what is in the variables, and make the function names tell you what the function does.
  3. Reinventing the wheel. If there’s a library that does what you need, just use it, don’t rewrite it.
  4. Caving in to pressure from bos

Good place to start: work through all the examples of the Python Tutorial that comes with the Python documentation.

Common bad moves:

  1. Copying what other people do instead of understanding what they do.
  2. Not making one’s code as clear and easy to read as possible. No abbreviations, no funky spelling or punctuation, no funny spacing, no funny indentation. Make the variable names tell you what is in the variables, and make the function names tell you what the function does.
  3. Reinventing the wheel. If there’s a library that does what you need, just use it, don’t rewrite it.
  4. Caving in to pressure from bosses. I understand you may have to do this at times. But if you can just honestly say, “I don’t know how long this will take, but I’ll give it my best shot, and I’ll let you know if I’m xxx along and still having problems,” that is much better than saying “Two weeks? Sure!” when you have a sinking feeling it will really take two months.
Profile photo for Daniel Strong

Common struggles are learning logic and the flow of code. One thing that happens is some people think, “I am going to write code…”, then they realize it isn't easy and quit. Or they realize they aren't grasping the concept.

If that happens, what you need to do is maybe except you aren't wired for it. Which isn't a bad thing. Some people aren't wired for coding, even some that have degrees in computer science. But I am a strong believer if keep trying it might happen. But if it becomes not fun or not interesting, change to another job in the industry. Try System Administration or Network Enginer

Common struggles are learning logic and the flow of code. One thing that happens is some people think, “I am going to write code…”, then they realize it isn't easy and quit. Or they realize they aren't grasping the concept.

If that happens, what you need to do is maybe except you aren't wired for it. Which isn't a bad thing. Some people aren't wired for coding, even some that have degrees in computer science. But I am a strong believer if keep trying it might happen. But if it becomes not fun or not interesting, change to another job in the industry. Try System Administration or Network Enginering, or Cyber Security. There are many other jobs in this industry.

The best way to start is to take a college class, like an Intro to Programming, or watch a Intro to Programming or Intro to C# or C++, watch one of the many YouTube videos that are free, and try your hardest.

Profile photo for Roger Scott

Different people with different backgrounds and different brains have different problems learning different programming languages. Many people have problems with the simple fact that computers do exactly what you tell them to do, nothing less, and nothing more. That’s just really hard for people to come to terms with. Related, people have trouble with the idea that the order in which you do things matters — a lot. People learning C/C++ often have trouble with concepts of pointers, arrays, and addresses. Everyone has trouble with concurrency — everyone.

These days there are a billion and one onl

Different people with different backgrounds and different brains have different problems learning different programming languages. Many people have problems with the simple fact that computers do exactly what you tell them to do, nothing less, and nothing more. That’s just really hard for people to come to terms with. Related, people have trouble with the idea that the order in which you do things matters — a lot. People learning C/C++ often have trouble with concepts of pointers, arrays, and addresses. Everyone has trouble with concurrency — everyone.

These days there are a billion and one online tutorials. Learn a little about a couple of different popular languages (python’s as good a place to start as any these days), find a couple tutorials in that language, and get going.

Profile photo for Paul

There are specific pitfalls to halt beginning programmers’ progress. Here are three common pitfalls:

Programming is easy for everyone else but me.

Fantastical thinking. With this song, we presume to know the lived experience of all who struggled before us and those who come after us.

It paints our own journey in an unfair light. The remedy is to hangout on forums to see the common toil in learning to program.

I'm not making progress if I look at other people's code.

There's a balance to be had between putting honest work and banging your head against the keyboard for days on end. Copying and pastin

There are specific pitfalls to halt beginning programmers’ progress. Here are three common pitfalls:

Programming is easy for everyone else but me.

Fantastical thinking. With this song, we presume to know the lived experience of all who struggled before us and those who come after us.

It paints our own journey in an unfair light. The remedy is to hangout on forums to see the common toil in learning to program.

I'm not making progress if I look at other people's code.

There's a balance to be had between putting honest work and banging your head against the keyboard for days on end. Copying and pasting is not progress. Dissecting other people's code to understand how they solved a problem is.

The new programmer has to decide:

How long will I allow myself to get stuck before looking at other people's code for inspiration? How will I learn from other people's code?

Seeing is believing.

This is how we’re conditioned. But progress doesn't reveal itself in real time. Progress often happens in your sleep as your mind wrestles with a coding challenge.

Progress is not linear nor obvious.

Whether you see progress or not, don't stop.

Profile photo for Allan Brooks
  1. Making code readable
  2. understanding for loops with iterations
  3. Debugging code

A good place to learn code is codeacademy.com

Profile photo for Matthew Maycock

Trying to do too much at once. When someone gives you a task, they tell you in a natural language. You need to translate this into a specification, which then gets translated into an overall technical plan, which begets algorithms & pseudo code, which develops into an actual program.

People think it's all one step.

Profile photo for Terry Lambert

Conditional execution.

I think that the first program everyone should be required to implement is a “pick-a-path” adventure with a single win scenario.

The idea of conditional execution is both bizarre to normal people, and fundamental to computer programming.

Your response is private
Was this worth your time?
This helps us sort answers on the page.
Absolutely not
Definitely yes
Profile photo for Philip

At first, they think they found bugs in the compiler, while they wrote errors in their own code. That is a very, very common pitfall.

As they evolve, the kinds of mistakes they make change. Eventually, they accept that they make mistakes, and use specific methods to try to avoid them. The pitfall is then, to think that there is a golden methodology that will avoid all errors. There is no such thing.

Once they become realistic about making mistakes and know the balance between methodology and freestyling, new pitfalls arise on the block. At this stage, they can make decent, high quality software.

At first, they think they found bugs in the compiler, while they wrote errors in their own code. That is a very, very common pitfall.

As they evolve, the kinds of mistakes they make change. Eventually, they accept that they make mistakes, and use specific methods to try to avoid them. The pitfall is then, to think that there is a golden methodology that will avoid all errors. There is no such thing.

Once they become realistic about making mistakes and know the balance between methodology and freestyling, new pitfalls arise on the block. At this stage, they can make decent, high quality software. The pitfall here is the belief that better software will be better accepted and used by more people. Perfectionism.

Some "experienced" programmers forget to learn new things. That is also a very common pitfall. There are always new things to learn for programmers and engineers. The world moves fast.

Profile photo for Gerry Rzeppa

Not very difficult at all; just tedious. And you need to be diligent, pay attention to detail, persevere and above all, start in the right place. Here, for instance:

Et voila!

Profile photo for Ken Gregg

Writing trivial code can be trivially simple. But real-world production software is not trivially simple. And writing the code is actually a small part of the software development picture.

See this answer for details on what it takes to develop software:

2

Profile photo for Dimitris Chloupis

First lets make clear that programming is super easy

yes it is

the simplest command that of printing a hello world message to the screen is just

  1. print("Hello World") 

in Python 3

and hello world is not the only example on how a single action can be captured by a single command. Python has a ton of such examples which is what makes it so loved among beginner coders.

I think the problem is that people tend to ignore the fun and usefulness of small and simple programs. Everyone wants to build the next Warcraft or LOL.

When I started coding back in 1988 was much simpler because technology was way more lim

First lets make clear that programming is super easy

yes it is

the simplest command that of printing a hello world message to the screen is just

  1. print("Hello World") 

in Python 3

and hello world is not the only example on how a single action can be captured by a single command. Python has a ton of such examples which is what makes it so loved among beginner coders.

I think the problem is that people tend to ignore the fun and usefulness of small and simple programs. Everyone wants to build the next Warcraft or LOL.

When I started coding back in 1988 was much simpler because technology was way more limited. My first computer was an Amstrad CPC 6128

This is not my Amstrad , just a photo of it I found online

This computer has a Z80 processor that has a speed of 4mhz , memory of 128kbs , screen resolution of 300 something pixels and colors I think around 16.

Processing power alone may sound 8000 times slower than an 8 core at 4Ghz but the real number is 50.000 times slower. Massive diffirence. When you look at screen resolution , ram, storage space , audio etc the difference is even much bigger.

However the good thing about coding on this machine is that none had enormous expectations , even small text based applications were considered more than good enough, spanning hundreds of lines.

And coding did not make you a nerd but a wizard casting a weird kind of magic which made adults and youngsters go “wow”.

Of course back then it was really impressive to do anything with a computer because so few people actually owned one. PCs at the time were very weak graphics and sound wise so very unpopular in Europe. Amstrad though CPC means Colored Personal Computer , it belonges to now the extinct category of home computers.

But technology evolved and so did languages and third party libraries and the more complex hardware became so did the software.

But that also meant the rise of the hacker stereotype that did all this damage to the reputation of coding. Back then none knew what a hacker was and none was trying to become one. We just wanted to have fun with coding.

Nowdays after decades of brainwashing the stereotypes of hackers and nerds in the movies dictate that you have to be a genious, shy, asexual, nerd, geek, very young and heavily bullied to earn your right to belong to the hacker super race.

This stereotype has heavily increased expectations and as such people have seen coding as nothing more than walking on nails. As an act left only to the capable hands of professionals with no room for amateur mistakes.

But coding has not to be like that, you can code simple apps, you can do small utilities that automate repetitive task in your daily life.

There has been a turn back to simplicity and low expectations with languages like Python. Python was for a long time being abused and looked down as a joke compared to “serious” languages like C++ , Java, Assembly, C etc Python afterall was made to minimise effort of achieving result by sacrificing features and performance.

But the growing complexity of modern coding forced many people to Python and now Python is extremely popular not only among beginners but mostly among professional coders.

So what makes coding hard ?

Definetly not coding

its people

its people and their unrealistic stereotypes and overhyped importance of the smart coder

You do not need to be smart to code

You do not need to be patient

You do not need to know math or ever learn math

You do not need to be a nerd

You do not need to be logical

You do not need to be a hacker

You do not need to be a boy/girl genius

You do not need to be young

But foremost

You do not need to do coding the hard way

Coding is fun and easy when you enjoy and celebrate every small success and remind yourself the immense power that your limited knowledge and experience offers you compared to someone who does not know how to code.

Coding is easy and is fun, if you let it be so.

In the end its up to you :)

PS:

I would like to thank Timothy reminding about the gender issue. I am not a feminist because I generally avoid declaring myself a member of a group for any other reason than something practical. The internet also is populated with so many feminist trolls or not and non sense ideologies on the issue, but that is an answer for another question.

BUT

The gender issue is a huge issue.

I was raised in an environment that contained some ideologies that implied that women are not equal to men and that there are specific roles that they should play. These ideologies I rejected from early age though how one defines equality is up to debate and a long discussion.

Nonetheless its an issue that always angered me, because its definitely kept us from evolving further by making it harder for 50% of the population to have access to technologies without having to navigate through the icebergs of stupid stereotypes.

To any woman or girl reading this, whether you are old or young , whether you think coding is not for you or not I want to say this.

One lesson I learned in life is to never worry about the things I cannot do but worry about the things I can do relatively easily and still I do not do them. In short, wasted potential. If you start on this premise learning to code, if you stop any kind of pre assumption about your progress it will slowly and steadily become extremely obvious that you are as capable learning how to code as any man.

Coding is not a male privilege and neither is technology, it belong to all of us. Whether you are black or white, man or woman or however you define yourself, American or non American.

Its the same process for everyone and do not let anyone tell you otherwise. Underestimating your capacity to learn will only affect you negatively not positively. So stay optimistic, believe on yourself, do not let anyone tell you what you can or should do or how and foremost try to surround yourself that are also optimistic and open minded and reject those that do not.

Of course the same applies for old people and anyone that thinks there are requirements for becoming a coder. There are none.

I started coding at the tender age of 9, another extremely stupid kid, with concentration issues, zero discipline and overactive. I have failed so many times, I have made so many mistakes that if I got a euro for each one I would be a billionaire by now. It was more than enough.

You know why I succeeded ?

Because none told me coding is hard

none told me that coding is not something a 9 year old should do

none told me that just randomly copy pasting code and studying from a single book for 3 years is not an efficient way to learn.

And that gave me a huge advantage of seeing for myself what is wrong and what is right, what is true and what is a lie.

Yes saying that coding is hard is a pure fat lie.

Profile photo for Eric Worrall

Coding is an art skill. Just as artists compose paintings with thousands of brush strokes, so programmers compose software applications with thousands of lines of code.

Learning how to program is a similar effort to learning how to draw realistic portraits of your friends. Both are doable, but it takes lots of application, practice and effort.

The biggest obstacle is, just as with learning how to draw, its easy to give up when it seems you are not progressing - you have to spend months or years creating unsatisfactory codes to develop the skill to create good code.

Profile photo for Adeel Ahmed

If you know how to code, then according to me both me and you have the same level of anxiousness because a senior level programmer has to solve critical problems at senior level and the junior programmer at junior. The same anxieties , worries etc. are part of the programmer’s life. The best art is to find the comfort zone and think positively and practice your professional religiously. Another think I personally dislike is the demand of the new technology after every six months. But enjoy it like a movie in which you are a hero.

Profile photo for Vlad Avram

The biggest issue with beginners which was also mine is writing way too much code without first taking the time to test it piece by piece. Learning to take an iterative approach was the first big step in becoming a true programmer.

Profile photo for Vince Jacobs

go to Learn to code - for free | Codecademy or http://lynda.com both are excellent resouces.

I only just answered a question on what are the difficulties in starting - check it out: Vince Jacobs's answer to What do many new programmers struggle with until an experienced programmer helps them out?

Profile photo for Mikael Rusin

Common struggles are keeping to it, developing a real and deep skillset - and utilizing it for the less glamorous tasks.

Programming - when you really get used to it - is repetition unto infinity.

You get to see enough types, structures, objects - and your tasks, is to just make it all weave together.

Endlessly.

The first few concepts you bump into may seem overwhelming. Staggering. Painful to try to internalize.

But if you stick to it, you’ll find that the struggle becomes boredome.

Not because learning code is boring - but because doing that 40 hours/week or more - gets boring.

Especially when it’s

Common struggles are keeping to it, developing a real and deep skillset - and utilizing it for the less glamorous tasks.

Programming - when you really get used to it - is repetition unto infinity.

You get to see enough types, structures, objects - and your tasks, is to just make it all weave together.

Endlessly.

The first few concepts you bump into may seem overwhelming. Staggering. Painful to try to internalize.

But if you stick to it, you’ll find that the struggle becomes boredome.

Not because learning code is boring - but because doing that 40 hours/week or more - gets boring.

Especially when it’s the less fancy stuff.

Like, learning about the size allocations of bytes, counting binary, doing basic type conversions

It’s like eating poridge.

Sure, it sustains you - but it is not a fancy meal or anything “tasty”

It’s rather mundane. i.e, boring. Just by sheer volume, really.

A good place to start, you ask?

Depends on what you wanna do.

My tip is, pick up a tutorial or check some documentation of peoples works.

Check out some projects on Github.

Try grasping your mind around the concepts, get a feel for what code looks like and is like.

Once you get the basics - you can move on to try building blocks for learning.

Learn how to build objects (OOP), classes, interfaces, types, etc.

Not to make a real project - just to get the basics down.

Once you finished enough such blocks - you can build a real project.

You’ll also have figured out if you really like this sort of thing.

Thing is - coding - for all the hype and the craze - it’s really a lot of effort to learn enough of it.

Takes a lot of time. And a lot of that time, is not “fun glamorous time”.

It’s like a marriage after a few years. It’s not the crazy love and sexlife - it’s the struggles of the everyday person getting through day by day.

That kind of ordeal.

Thanks for the A2A.

Profile photo for Quora User

Beginners aren’t used to having to think so logically and precisely and in such detail in normal life. They aren’t used to having to deal with people who are as incredibly stupid as computers are. They overcome this by learning to follow instructions EXACTLY, to be obsessively organized, to stop thinking in a sloppy manner and in general to start being consciously anal-retentive in their mental habits.

Profile photo for Quora User

While everyone here has answered about technical stuff i will try to answer about the the trouble of picking up a language and the learning process.

The huge number of options are frustrating. It is very overwhelming and intimidating. I’ve just started learning python and have been working on small projects for now. It is very annoying to choose what to learn after python. This is what i think :-

  1. Maybe i should start learning web development with a python framework . Then i come across a lot of articles saying python isn’t scalable compared to others. Then i feel Quora is build on python why not

While everyone here has answered about technical stuff i will try to answer about the the trouble of picking up a language and the learning process.

The huge number of options are frustrating. It is very overwhelming and intimidating. I’ve just started learning python and have been working on small projects for now. It is very annoying to choose what to learn after python. This is what i think :-

  1. Maybe i should start learning web development with a python framework . Then i come across a lot of articles saying python isn’t scalable compared to others. Then i feel Quora is build on python why not ? People say it is slow. Even if i want to continue what should i choose? Django? Flask? Pylons? web2py?
  2. Then i come across a answer from a top writer saying javascript is the future. I feel i should go with it.
  3. Then i come to know that ruby on rails is the hottest choice among startups and new companies for web dev.
  4. But what about php? perl?
  5. But c++ , c are great languages with high speed . This would help too
  6. What about java. I can write android apps . 3rd party sources don’t work well
  7. But swift is cool too! iOS apps and OSx apps. Apple is going to stay for a while and swift is moving towards web dev too!
  8. Enough of languages let me learn some cs stuff.
  9. But should i take a course on data structures and algorithms as it is famous? But machine learning , AI , Big data , Security and encryption sound fun too
  10. I must complete a Intro to CS class first .
  11. OpenCV , Pygame , Drones , Raspberry pi are awesome!!!
  12. Maybe i should try competitive programming?…………………………

At the end it's just going to be ‘Netflix and chill’

This goes on. And getting into a language there are many interesting libraries. This is really frustrating .For now i am sticking to Django and python but i’m sure many beginners face this .

Profile photo for Quora User

Coding is difficult. Especially writing high quality code, it will take years to reach perfection.

Profile photo for Shimon Doodkin

not taking into account
code management later.
there is software lifecycle.

like
refactor several times.like rewrite each time in a better code structure, after the half hazard first implementation.

write documentation to management. of the code.

maybe develop with classes and use tests to develop each step in the software . to be able to develop something with a team.


don't write general absteact softwate. write specific software. software is rearly reused.

Profile photo for Ronnie Otieno

I taught myself how to code. With no tutor except for online materials, I used to spend more than 14 hours learning new things every day. Most of the times I was on youtube. I found out that coding wasn't as hard as I thought. I didn't need to be so good in math either.

As a learner, everything wasn't always straightforward I would waste a whole day trying to figure what was wrong with my code not realizing that I did a very simple mistake such as writing (=) instead of (==). I didn't stop though and I am not planning to. I have gone too far that I stopped calling myself a beginner.

In the cours

I taught myself how to code. With no tutor except for online materials, I used to spend more than 14 hours learning new things every day. Most of the times I was on youtube. I found out that coding wasn't as hard as I thought. I didn't need to be so good in math either.

As a learner, everything wasn't always straightforward I would waste a whole day trying to figure what was wrong with my code not realizing that I did a very simple mistake such as writing (=) instead of (==). I didn't stop though and I am not planning to. I have gone too far that I stopped calling myself a beginner.

In the course of my journey, I realized the following.

  • Take a language and learn it thoroughly. You won't be learning Python and Java at the same time as a beginner. I am doing Java and that's the language I started with, for some time I didn't see any progress until I switched to Android. I am doing Android now.
  • Be consistence. Code daily, by doing this you learn a lot and at the same time retaining what you have learned by practicing. As I stated earlier I spend more than half of my day coding. And there is no single day that I haven't coded in the past six months.
  • Be ready to get frustrated. Coding is frustrating no lie, but at the same time, it challenges one to use their problem-solving skills. Prepare to spend a lot of time debugging.
  • Things can get technical. When learning alone it will only be you and the computer and without anyone to ask, a lot of aspects may take a long time to sink in.
  • Coding is not hard and it's not that easy either, it needs a lot of dedication and resources in terms of time.

I started coding as a hobby and a way to keep myself busy. Right now I see myself coding for a living. Because of my dedication, I have since joined https://andela.com/alc/ under Google Africa Certification Scholarships Program. Happy coding!

Profile photo for William Oliver

I am mostly self taught when it comes to programming and CS, so these may be different from people who learned programming in school.

1. Understanding abstraction.

When I first learned programming, it was very hard for me to grasp that there were only a few keywords that were part of the actual language, and that every other word that I'd use would be either a word that I made up or a word that I could have made up given enough time.

I didn't understand the difference between an object and an instance of that object, and I didn't understand how interfaces could ever be useful.

Separating the l

I am mostly self taught when it comes to programming and CS, so these may be different from people who learned programming in school.

1. Understanding abstraction.

When I first learned programming, it was very hard for me to grasp that there were only a few keywords that were part of the actual language, and that every other word that I'd use would be either a word that I made up or a word that I could have made up given enough time.

I didn't understand the difference between an object and an instance of that object, and I didn't understand how interfaces could ever be useful.

Separating the language itself from the API's, Libraries, and Frameworks that were often used with the language also took a while for me to grasp. When I finally understood these things, I finally understood the true power of programming. I realized that I could build anything I set my mind to with any language (as long as the language is Turing complete of course) . This felt great. I think this misunderstanding is the source of the common beginner's question "What programming language is the best?". Its not the programming language itself that can be said to do anything more than another language. It is the APIs, compilers, and community that are available for the language that make the most difference.

2. Compilers, linkers, and assemblers

It took a while for me to understand that a program can be written in any text editor, not just an IDE that was made for the language. It seems obvious now, but when I first figured this out it blew my mind. I was finally able to move to programming with the command line and eventually moved to using linux. It also made me understand that writing your own scripting or even programming language wasn't necessarily (emphasis on necessarily) a difficult thing, where as before I thought it was something only an immortal could do.

3. Not knowing when a question is worth asking and not knowing how to ask it

It takes a while for a beginner to develop the vocabulary and maturity to know where to look for solutions to your own problem. It is hard to know whether you should try and solve it yourself or whether it is worth asking someone else for help.

In the beginning it is hard to understand what a compiler or run-time error is trying to tell you. You don't really understand the problem enough to make Google searches provide anything useful, and you are constantly afraid that it isn't a problem that Google can solve. E.g. you simply misspelled a variable name, forgot a curly bracket, or put an = instead of an == somewhere, because you don't always really understand what those things do yet.

Posting a question like that on stack overflow is often a death wish, but occasionally it is a good idea because it might not be a simple issue. The problem is that when you are a beginner, you don't know if it is a "simple issue" or a "complex issue" because you are still learning, and everything is complex.

Even when the question is worth asking in someone else's eyes, it is often the case that you do not yet have the vocabulary to formulate the question in any useful way.

This is very much a problem for a self learner I think, because if you have someone else to teach you, you can often just ask them.

Profile photo for Aamir Berni

Beginners don't understand why computers can't learn. If the computer is told that F = m * a, then why it can't calculate the value of F, given the values of m and a.

Profile photo for Mark Harrison

Edge cases.

Today, I had to write a thing called “DeleteCustomer”.

What did that have to do?

Delete the customer, right?

Well, yes, but first it had to check that:

* it had been passed the right number of parameters
* that the customer in question existed
* that the user who had triggered the it had sufficient access rights
* that no parameters had been passed that weren’t references to customers a

Edge cases.

Today, I had to write a thing called “DeleteCustomer”.

What did that have to do?

Delete the customer, right?

Well, yes, but first it had to check that:

* it had been passed the right number of parameters
* that the customer in question existed
* that the user who had triggered the it had sufficient access rights
* that no parameters had been passed that weren’t references to customers at all, but attempts at exploits
* that the customer’s account was “clear” (in that there weren’t outstanding legal obligations on either our part or their part)

[Edit: Yes, this is a partial list… several comments are adding things that (in most cases), I also did… but one sent me scurrying back to the code-base to review an extra edge case…]

And as w...

Profile photo for Quora User

Beginners may try to learn a programming language, but that does not make you a programmer. The best way to start is to get a degree in mathematics. Then you will find that programming is actually easy-peasy and the biggest problem is boredom.

Profile photo for Jason Taylor

It depends. If you are talking about front end coding, all of the pieces can be confusing to people just starting out. CSS can seem like witchcraft and JavaScript seems like a foreign language. But, taking the time to really understand how they all fit together will help you understand how to use them.

Profile photo for Max Thompson

When you’re done being frustrated kid, pick up a copy of The Little Schemer. Write each question and answer down with a pencil and paper. You’re welcome.

Profile photo for Chris D

The best advice I can give to a novice developer is the do your own work and don’t just jump online and expect others to solve your problems.

You learn so much more by solving your own issues as you gain a better understanding and learn many other things as you research.

Profile photo for Mohit Makhija

Well if you are a Beginner I would suggest you to learn Python language because of the following reasons

  1. It has a very simple syntax
  2. The language is simple yet powerful
  3. You don't need to memorize all different kinds of syntax for different variables like integer character etc.

Well here is a link for you to get started http://www.tutorialspoint.com/python/
On this website you can also get the pdf book for Python.

You can also learn it using video lectures from youtube here's a link for the same
Watch "Python Programming Tutorial" on YouTube -

Profile photo for Miles Fidelman

Learning to do anything useful.

Once you get past the very basics, programming is about your application domain. If you don’t know anything about finance, it’s pretty hard to write financial software. Same again for any field. (Kind of like writing. It’s one thing to learn a vocabulary, it’s quite another thing to be able to tell a story, or write a non-fiction piece about a topic you don’t understand.)

As to where to start: Unless you’re really into computing itself, start with an application domain. If you study physics, you’ll eventually have to take a course in “programming for physicists;”

Learning to do anything useful.

Once you get past the very basics, programming is about your application domain. If you don’t know anything about finance, it’s pretty hard to write financial software. Same again for any field. (Kind of like writing. It’s one thing to learn a vocabulary, it’s quite another thing to be able to tell a story, or write a non-fiction piece about a topic you don’t understand.)

As to where to start: Unless you’re really into computing itself, start with an application domain. If you study physics, you’ll eventually have to take a course in “programming for physicists;” same again for pretty much any field. That way you learn to program in context.

Profile photo for Kayode Olaniyi

I just started learning how to drive and I think I should compare coding with driving. At first it seems a little complicated, like the handling of the steering, maintaining the speed limit, avoiding a crash and so on but with time you begin to master it, you get used to it and it no longer is a big deal when you want to drive.

Just driving so is coding at first it seems a little complicated, you may be wondering how do I do this, how do I master this, how do I know what to do? but with time you begin to master as you code the more. Your confidence begins to grow, you can talk about it and you

I just started learning how to drive and I think I should compare coding with driving. At first it seems a little complicated, like the handling of the steering, maintaining the speed limit, avoiding a crash and so on but with time you begin to master it, you get used to it and it no longer is a big deal when you want to drive.

Just driving so is coding at first it seems a little complicated, you may be wondering how do I do this, how do I master this, how do I know what to do? but with time you begin to master as you code the more. Your confidence begins to grow, you can talk about it and you now understand the articles been posted online. Finally just like driving sometimes you are in a difficult situations, maybe the road is a little similar and you haven’t had that experience before. The same applies to coding.

Coding just like driving are similar. We need to be consistent and persistent with it even though we don’t get it.

Profile photo for Quora User

I think I could answer this question partly out of my experience in learning Spanish. One of the biggest problems that beginning programmers face is learning a new language. The student must reconfigure some of the barriers in his or her brain in order to be receptive enough to learn the vocabulary, the syntax, and the constructs of grammar.

Programming languages have all of these. However, there’s good news, too.

The commands (vocabulary) in programming languages are most often English words. All you need to learn is the grammar and syntax.

And logic.

One of the things we do not do very well in p

I think I could answer this question partly out of my experience in learning Spanish. One of the biggest problems that beginning programmers face is learning a new language. The student must reconfigure some of the barriers in his or her brain in order to be receptive enough to learn the vocabulary, the syntax, and the constructs of grammar.

Programming languages have all of these. However, there’s good news, too.

The commands (vocabulary) in programming languages are most often English words. All you need to learn is the grammar and syntax.

And logic.

One of the things we do not do very well in primary and secondary education (in the United States) is teach people how to find the fundamental question or problem, plan for a solution, and apply basic logic to find a solution. Programming (coding) forces us to do this in a machine-like way.

It’s hard. But it’s worth it.

And don’t resist. Many of my fellow students resisted because some of the rules violated everything we thought we knew before. Logical constructs that lead to data handling, configuration of arrays, and mathematical operation tended to trip a lot of people up.

To appropriate a concept from Star Trek: The Next Generation, become one with the collective. Do not resist.

About · Careers · Privacy · Terms · Contact · Languages · Your Ad Choices · Press ·
© Quora, Inc. 2025