checklists   1230

« earlier    

python - Does pandas iterrows have performance issues? - Stack Overflow
Generally, iterrows should only be used in very very specific cases. This is the general order of precedence for performance of various operations:

1) vectorization
2) using a custom cython routine
3) apply
a) reductions that can be performed in cython
b) iteration in python space
4) itertuples
5) iterrows
6) updating an empty frame (e.g. using loc one-row-at-a-time)
q-n-a  stackex  programming  python  libraries  gotchas  data-science  sci-comp  performance  checklists  objektbuch  best-practices 
24 days ago by nhaliday
Devchecklists | Always deliver your very best, always check
Devchecklists is a collaborative space for sharing checklists that help ensure software quality, guide you through crisis and other helpful stuff for devs.
application  bestpractices  checklist  code  checklists  development  design  framework  javascript  review  list  programming  ux  web  test  reference 
26 days ago by speckz
Philip Guo - Research Design Patterns
List of ways to generate research directions. Some are pretty specific to applied CS.
techtariat  nibble  academia  meta:research  scholar  cs  systems  list  top-n  checklists  ideas  creative  frontier  memes(ew)  info-dynamics  innovation  novelty  the-trenches  tactics 
4 weeks ago by nhaliday
When to use C over C++, and C++ over C? - Software Engineering Stack Exchange
You pick C when
- you need portable assembler (which is what C is, really) for whatever reason,
- your platform doesn't provide C++ (a C compiler is much easier to implement),
- you need to interact with other languages that can only interact with C (usually the lowest common denominator on any platform) and your code consists of little more than the interface, not making it worth to lay a C interface over C++ code,
- you hack in an Open Source project (many of which, for various reasons, stick to C),
- you don't know C++.
In all other cases you should pick C++.

--

At the same time, I have to say that @Toll's answers (for one obvious example) have things just about backwards in most respects. Reasonably written C++ will generally be at least as fast as C, and often at least a little faster. Readability is generally much better, if only because you don't get buried in an avalanche of all the code for even the most trivial algorithms and data structures, all the error handling, etc.

...

As it happens, C and C++ are fairly frequently used together on the same projects, maintained by the same people. This allows something that's otherwise quite rare: a study that directly, objectively compares the maintainability of code written in the two languages by people who are equally competent overall (i.e., the exact same people). At least in the linked study, one conclusion was clear and unambiguous: "We found that using C++ instead of C results in improved software quality and reduced maintenance effort..."

--

(Side-note: Check out Linus Torvads' rant on why he prefers C to C++. I don't necessarily agree with his points, but it gives you insight into why people might choose C over C++. Rather, people that agree with him might choose C for these reasons.)

http://harmful.cat-v.org/software/c++/linus

Why would anybody use C over C++? [closed]: https://stackoverflow.com/questions/497786/why-would-anybody-use-c-over-c
Joel's answer is good for reasons you might have to use C, though there are a few others:
- You must meet industry guidelines, which are easier to prove and test for in C.
- You have tools to work with C, but not C++ (think not just about the compiler, but all the support tools, coverage, analysis, etc)
- Your target developers are C gurus
- You're writing drivers, kernels, or other low level code
- You know the C++ compiler isn't good at optimizing the kind of code you need to write
- Your app not only doesn't lend itself to be object oriented, but would be harder to write in that form

In some cases, though, you might want to use C rather than C++:
- You want the performance of assembler without the trouble of coding in assembler (C++ is, in theory, capable of 'perfect' performance, but the compilers aren't as good at seeing optimizations a good C programmer will see)
- The software you're writing is trivial, or nearly so - whip out the tiny C compiler, write a few lines of code, compile and you're all set - no need to open a huge editor with helpers, no need to write practically empty and useless classes, deal with namespaces, etc. You can do nearly the same thing with a C++ compiler and simply use the C subset, but the C++ compiler is slower, even for tiny programs.
- You need extreme performance or small code size, and know the C++ compiler will actually make it harder to accomplish due to the size and performance of the libraries
- You contend that you could just use the C subset and compile with a C++ compiler, but you'll find that if you do that you'll get slightly different results depending on the compiler.

Regardless, if you're doing that, you're using C. Is your question really "Why don't C programmers use C++ compilers?" If it is, then you either don't understand the language differences, or you don't understand compiler theory.

--

- Because they already know C
- Because they're building an embedded app for a platform that only has a C compiler
- Because they're maintaining legacy software written in C
- You're writing something on the level of an operating system, a relational database engine, or a retail 3D video game engine.
q-n-a  stackex  programming  engineering  pls  best-practices  impetus  checklists  c(pp)  systems  assembly  compilers  hardware  embedded  oss  links  study  evidence-based  devtools  performance  rant  expert-experience  types  blowhards  linux  git  vcs  debate  rhetoric 
4 weeks ago by nhaliday
its-not-software - steveyegge2
You don't work in the software industry.

...

So what's the software industry, and how do we differ from it?

Well, the software industry is what you learn about in school, and it's what you probably did at your previous company. The software industry produces software that runs on customers' machines — that is, software intended to run on a machine over which you have no control.

So it includes pretty much everything that Microsoft does: Windows and every application you download for it, including your browser.

It also includes everything that runs in the browser, including Flash applications, Java applets, and plug-ins like Adobe's Acrobat Reader. Their deployment model is a little different from the "classic" deployment models, but it's still software that you package up and release to some unknown client box.

...

Servware

Our industry is so different from the software industry, and it's so important to draw a clear distinction, that it needs a new name. I'll call it Servware for now, lacking anything better. Hardware, firmware, software, servware. It fits well enough.

Servware is stuff that lives on your own servers. I call it "stuff" advisedly, since it's more than just software; it includes configuration, monitoring systems, data, documentation, and everything else you've got there, all acting in concert to produce some observable user experience on the other side of a network connection.
techtariat  sv  tech  rhetoric  essay  software  saas  devops  engineering  programming  contrarianism  list  top-n  best-practices  applicability-prereqs  desktop  flux-stasis  homo-hetero  trends  games  thinking  checklists  dbs  models  communication  tutorial  wiki  integration-extension  frameworks  api  whole-partial-many  metrics  retrofit  c(pp)  pls  code-dive  planning  working-stiff  composition-decomposition  libraries  conceptual-vocab  amazon 
4 weeks ago by nhaliday

« earlier    

related tags

$afma-v  &  %product_hunt  2016  2018  2019  23  320  a11y  abstraction  academia  accessibility  accordions  aceschat  acmtariat  ad  admin  advice  advocacy  agile  alexhaagaard  amazon  analysis  and  android_apps  api  applicability-prereqs  application  apps  aria  assembly  athleanx  audio  automation  backup  bastille  benchmarks  best-practices  bestpractices  big-picture  blowhards  book  bookmarks_toolbar  books  botany  build-packaging  business  c(pp)  caching  calm  camping  canonical  cards  change  checking  checklist  clevermarks  code-dive  code  codepen  communication  compilers  complexity  components  composition-decomposition  conceptual-vocab  conferences  content  contrarianism  coptic  creative  cs  dan-luu  data-science  data  dataviz  dbs  deadlifts  death  debate  debugging  deep-learning  demotic  depression  design  desktop  dev  development  devops  devtools  directory  divide-and-conquer  documentation  dopamine  dragonflyedit  dragonflyeditorial  duplication  ebook  ebooks  editing  education  embedded  engineering  ensembles  error  essay  ethics  evangelism  evidence-based  examples  expert-experience  facebook  family  favorites  features  feedly  feynman  fieldrecording  fitness  flexibility  flux-stasis  form  format  framework  frameworks  friendlyashley  front_end  frontend  frontier  games  gdpr  generalization  giants  git  github  google  gotchas  gradient-descent  graphs  greek  ground-up  guide  guides  habits  hacker  hardening  hardware  header  hierarchy  higher-ed  hiking  homo-hetero  howto  ide  ideas  ieee  ifttt  impetus  incidentresponse  indexes  influence  info-dynamics  informationdesign  infosec  init  innovation  input-output  inscriptions  instapaper  integration-extension  interdisciplinary  intricacy  inventories  ios  ios_apps  irs  iteration-recursion  javascript  jordanmorgan10  latin  learning  legal  libraries  lifehacks  links  linux  list  lists  lol  machine-learning  management  marketing  meatspace  medicine  meetings  memes(ew)  mentalmodel  mentalmodels  meta:research  metrics  mistakes  models  moodle  more  morning  motivation  nancy  new  nhs  nibble  nitty-gritty  notes  novelty  npr  numerics  objektbuch  ocaml-sml  online_learning  online_marketing  optimization  org:bleg  organization  oss  ostraca  papyri  patterns  performance  plainlanguage  planning  plots  pls  practices  preparedness  privacy  privilege  procedures  process  processes  productdesign  programming  projectmanagement  psychology  python  q-n-a  qra  random  rant  react  recommendations  reduction  reference  reflection  regularization  research  resources  retrofit  review  rhetoric  rigidity  roots  routine  rule-using-animals  rules  saas  scholar  sci-comp  scotland  scripting  scripts  scrum  searchcap:  security  selfcare  sentences  seo  software  stackex  startups  state  steps  stories  strength_training  structure  study-designs  study  surgery  sv  swiftjectivec  sysadmin  systematic-ad-hoc  systems  tablets  tactics  task_management  taxes  teaching  tech  technical  techtariat  templates  test  testing  the-trenches  thinking  todos  toolkit:  tools  top-n  travel  trends  tricks  tutorial  twine  twitter  types  unsupervised  useful  userexperience  userinterface  ux  vcs  via-irc  via-liw  video  vue  washington  web  webdesign  webdev  webform  whole-partial-many  wiki  wolfram  work  workflow  working-stiff  writing  yak-shaving  | 

Copy this bookmark:



description:


tags: